id = "php" name = "PHP" extensions = ["php", "phtml", "php3", "php4", "php5", "phps", "phpt"] first-line = "^(<\\?php|#!.*\\bphp\\b)" line-comment = "//" block-comment = ["/*", "*/"] indent = { tab-size = 4, insert-spaces = true } ui-mode = "PHP" tree-sitter = "php" [[language-servers]] name = "intelephense" command = "intelephense" args = ["--stdio"] root-markers = ["composer.json", ".phpactor.json", "index.php"] install-hint = "npm i -g intelephense" # Intelephense applies the PHP version only to documents it parses after reading it. resync-on-configuration = true [[language-servers]] name = "phpactor" # Alternative: used only when the server above is not installed. fallback = true command = "phpactor" args = ["language-server"] root-markers = ["composer.json", ".phpactor.json"] install-hint = "Install phpactor (https://phpactor.readthedocs.io/en/master/usage/standalone.html)" # Laravel projects only: hover, definition and completion inside # config('…'), route('…') and view('…'). Last: Intelephense keeps PHP hover, # rename and symbols. https://github.com/laravel/lsp [[language-servers]] name = "laravel-lsp" command = "laravel-lsp" args = ["--stdio"] root-markers = ["artisan"] require-root-marker = true install-hint = "composer global require laravel/lsp" [debugger] adapter = "php-debug" command = "php-debug-adapter" install-hint = "Install PHP Debug (Xdebug) in Settings › Languages & Frameworks › Language Servers, and enable Xdebug"