From 06261fc4720bb88fbaf646a1b2ac8f1c9da51f20 Mon Sep 17 00:00:00 2001 From: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com> Date: Sun, 21 Jul 2024 10:31:46 +0300 Subject: [PATCH] modules/lsp/servers/vls: do not add filetype extension if not enabled --- plugins/lsp/language-servers/default.nix | 4 ++- .../plugins/lsp/language-servers/vls.nix | 29 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 tests/test-sources/plugins/lsp/language-servers/vls.nix diff --git a/plugins/lsp/language-servers/default.nix b/plugins/lsp/language-servers/default.nix index a550880c..2c1c246d 100644 --- a/plugins/lsp/language-servers/default.nix +++ b/plugins/lsp/language-servers/default.nix @@ -591,7 +591,9 @@ let example = false; }; }; - extraConfig = cfg: { filetype.extension = mkIf cfg.autoSetFiletype { v = "vlang"; }; }; + extraConfig = cfg: { + filetype.extension = mkIf (cfg.enable && cfg.autoSetFiletype) { v = "vlang"; }; + }; } { name = "vuels"; diff --git a/tests/test-sources/plugins/lsp/language-servers/vls.nix b/tests/test-sources/plugins/lsp/language-servers/vls.nix new file mode 100644 index 00000000..5b03058a --- /dev/null +++ b/tests/test-sources/plugins/lsp/language-servers/vls.nix @@ -0,0 +1,29 @@ +{ + default = { + plugins.lsp = { + enable = true; + servers.vls.enable = true; + }; + + extraConfigLuaPost = '' + -- V files are recognized by default + assert(vim.filetype.match({ filename = "test.v" }) == "vlang", "V filetype is not recognized") + ''; + }; + + extra-options = { + plugins.lsp = { + enable = true; + + servers.vls = { + enable = true; + autoSetFiletype = true; + }; + }; + + extraConfigLuaPost = '' + -- autoSetFiletype + assert(vim.filetype.match({ filename = "test.v" }) == "vlang", "V filetype is not recognized") + ''; + }; +}