From beb700f3fe1d48f136c81f446aba567742b22723 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sun, 19 Jan 2025 19:27:31 +0000 Subject: [PATCH] Add nil and zls LSP's --- nvim/lua/lsp/servers/nil.lua | 15 +++++++++++++++ nvim/lua/lsp/servers/zls.lua | 10 ++++++++++ 2 files changed, 25 insertions(+) create mode 100644 nvim/lua/lsp/servers/nil.lua create mode 100644 nvim/lua/lsp/servers/zls.lua diff --git a/nvim/lua/lsp/servers/nil.lua b/nvim/lua/lsp/servers/nil.lua new file mode 100644 index 0000000..c5e65f2 --- /dev/null +++ b/nvim/lua/lsp/servers/nil.lua @@ -0,0 +1,15 @@ +return { + cmd = { "nil" }, + filetypes = { "nix" }, + root_markers = { + "flake.nix", + ".git" + }, + settings = { + ["nil"] = { + formatting = { + command = { "nixfmt" }, + }, + }, + }, +} diff --git a/nvim/lua/lsp/servers/zls.lua b/nvim/lua/lsp/servers/zls.lua new file mode 100644 index 0000000..cce39b7 --- /dev/null +++ b/nvim/lua/lsp/servers/zls.lua @@ -0,0 +1,10 @@ +return { + cmd = { "zls" }, + on_new_config = function(new_config, new_root_dir) + if vim.fn.filereadable(vim.fs.joinpath(new_root_dir, "zls.json")) ~= 0 then + new_config.cmd = { "zls", "--config-path", "zls.json" } + end + end, + filetypes = { "zig", "zir" }, + root_markers = {"zls.json", "build.zig", ".git"}, +}