Compare commits

...
2 Commits
Author SHA1 Message Date
hektor a570b5edda fix(nvim): only use 'helm_ls' for helm charts and values
check / lint (push) Successful in 15s
2026-11-03 23:24:58 +01:00
hektor 51c3ee2a40 feat(nvim): make TypeScript language server configurable
check / lint (push) Successful in 16s
2026-11-03 23:23:26 +01:00
3 changed files with 53 additions and 41 deletions

No files matched your search

@@ -17,7 +17,7 @@ local servers = {
emmet_language_server = {}, emmet_language_server = {},
gdscript = {}, gdscript = {},
helm_ls = { helm_ls = {
filetypes = { "yaml", "helm", "yaml.helm-values" }, filetypes = { "helm", "yaml.helm-values" },
}, },
hls = { filetypes = { "haskell", "lhaskell", "cabal" } }, hls = { filetypes = { "haskell", "lhaskell", "cabal" } },
html = {}, html = {},
@@ -96,43 +96,42 @@ local servers = {
}, },
tailwindcss = {}, tailwindcss = {},
ts_ls = {}, ts_ls = {},
-- vtsls = { vtsls = {
-- maxTsServerMemory = 16384, filetypes = {
-- filetypes = { "javascript",
-- "javascript", "javascriptreact",
-- "javascriptreact", "javascript.jsx",
-- "javascript.jsx", "typescript",
-- "typescript", "typescriptreact",
-- "typescriptreact", "typescript.tsx",
-- "typescript.tsx", },
-- }, settings = {
-- settings = { vtsls = {
-- complete_function_calls = true, enableMoveToFileCodeAction = true,
-- vtsls = { autoUseWorkspaceTsdk = true,
-- enableMoveToFileCodeAction = true, experimental = {
-- autoUseWorkspaceTsdk = true, completion = {
-- experimental = { enableServerSideFuzzyMatch = true,
-- completion = { },
-- enableServerSideFuzzyMatch = true, },
-- }, },
-- }, typescript = {
-- }, updateImportsOnFileMove = { enabled = "always" },
-- typescript = { tsserver = { maxTsServerMemory = 16384 },
-- updateImportsOnFileMove = { enabled = "always" }, suggest = {
-- suggest = { completeFunctionCalls = true,
-- completeFunctionCalls = true, },
-- }, inlayHints = {
-- inlayHints = { enumMemberValues = { enabled = true },
-- enumMemberValues = { enabled = true }, functionLikeReturnTypes = { enabled = true },
-- functionLikeReturnTypes = { enabled = true }, parameterNames = { enabled = "literals" },
-- parameterNames = { enabled = "literals" }, parameterTypes = { enabled = true },
-- parameterTypes = { enabled = true }, propertyDeclarationTypes = { enabled = true },
-- propertyDeclarationTypes = { enabled = true }, variableTypes = { enabled = false },
-- variableTypes = { enabled = false }, },
-- }, },
-- }, },
-- }, },
-- },
yamlls = { yamlls = {
settings = { settings = {
yaml = { yaml = {
@@ -149,6 +148,9 @@ local servers = {
}, },
} }
local typescript_server = require("nixCatsUtils").getCatOrDefault("typescriptServer", "ts_ls")
servers[typescript_server == "vtsls" and "ts_ls" or "vtsls"] = nil
for server, config in pairs(servers) do for server, config in pairs(servers) do
config.capabilities = capabilities config.capabilities = capabilities
vim.lsp.config(server, config) vim.lsp.config(server, config)
+2 -2
View File
@@ -107,9 +107,8 @@
stylua stylua
tree-sitter tree-sitter
tailwindcss-language-server tailwindcss-language-server
typescript-language-server (if (categories.typescriptServer or "ts_ls") == "vtsls" then vtsls else typescript-language-server)
vscode-langservers-extracted vscode-langservers-extracted
vtsls
yaml-language-server yaml-language-server
yamllint yamllint
]; ];
@@ -214,6 +213,7 @@
general = true; general = true;
github = false; github = false;
colorscheme = "zenwritten"; colorscheme = "zenwritten";
typescriptServer = "ts_ls";
}; };
}; };
}; };
+11 -1
View File
@@ -13,16 +13,26 @@ in
{ {
imports = [ inputs.nvim.homeModules.default ]; imports = [ inputs.nvim.homeModules.default ];
options.nvim.colorscheme = lib.mkOption { options.nvim = {
colorscheme = lib.mkOption {
type = lib.types.enum (lib.attrNames themes); type = lib.types.enum (lib.attrNames themes);
default = "zenwritten"; default = "zenwritten";
}; };
typescriptServer = lib.mkOption {
default = "ts_ls";
type = lib.types.enum [
"ts_ls"
"vtsls"
];
};
};
config = lib.mkIf config.nvim.enable { config = lib.mkIf config.nvim.enable {
nvim.packageDefinitions.merge.nvim = _: { nvim.packageDefinitions.merge.nvim = _: {
categories = { categories = {
colorscheme = config.nvim.colorscheme; colorscheme = config.nvim.colorscheme;
github = config.git.github.enable; github = config.git.github.enable;
inherit (config.nvim) typescriptServer;
}; };
}; };