diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index d09e2df7..ce0e34a4 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -329,6 +329,8 @@ - Add `emmet-ls` to the supported LSPs for all languages it supports. +- Added `phpantom` LSP preset and into `languages.php`. + - Added {option}`vim.treesitter.queries` to support adding custom queries. - Added injections for `query = '' ... ''` as `query` and `mkLualine '' ... ''`, diff --git a/modules/plugins/languages/php.nix b/modules/plugins/languages/php.nix index 69335429..d06d047e 100644 --- a/modules/plugins/languages/php.nix +++ b/modules/plugins/languages/php.nix @@ -17,7 +17,7 @@ cfg = config.vim.languages.php; defaultServers = ["phpactor"]; - servers = ["phpactor" "phan" "intelephense"]; + servers = ["phpactor" "phan" "intelephense" "phpantom"]; defaultFormat = ["php_cs_fixer"]; formats = { diff --git a/modules/plugins/lsp/presets/default.nix b/modules/plugins/lsp/presets/default.nix index 71f4fa92..1b4bdedf 100644 --- a/modules/plugins/lsp/presets/default.nix +++ b/modules/plugins/lsp/presets/default.nix @@ -48,6 +48,7 @@ ./openscad-lsp.nix ./phan.nix ./phpactor.nix + ./phpantom.nix ./pyrefly.nix ./pyright.nix ./python-lsp-server.nix diff --git a/modules/plugins/lsp/presets/phpantom.nix b/modules/plugins/lsp/presets/phpantom.nix new file mode 100644 index 00000000..68dafc57 --- /dev/null +++ b/modules/plugins/lsp/presets/phpantom.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib.meta) getExe; + inherit (lib.modules) mkIf; + inherit (lib.nvim.types) mkLspPresetEnableOption; + + cfg = config.vim.lsp.presets.phpantom; +in { + options.vim.lsp.presets.phpantom = { + enable = mkLspPresetEnableOption "phpantom" "PHPantom" []; + }; + + config = mkIf cfg.enable { + vim.lsp.servers.phpantom = { + enable = true; + cmd = [(getExe pkgs.phpantom)]; + root_markers = [".phpantom.toml" "composer.json" ".php-version" ".git"]; + }; + }; +}