diff options
Diffstat (limited to 'config/nvim/lua/lsp.lua')
| -rw-r--r-- | config/nvim/lua/lsp.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/config/nvim/lua/lsp.lua b/config/nvim/lua/lsp.lua new file mode 100644 index 0000000..f12ecae --- /dev/null +++ b/config/nvim/lua/lsp.lua @@ -0,0 +1,31 @@ +-- инициализация LSP для различных ЯП +local lspconfig = require("lspconfig") +local util = require("lspconfig/util") + +local function config(_config) + return vim.tbl_deep_extend("force", { + -- capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()), + }, _config or {}) +end +-- иницализация gopls LSP для Go +-- https://github.com/golang/tools/blob/master/gopls/doc/vim.md#neovim-install +lspconfig.gopls.setup(config({ + cmd = { "gopls", "serve" }, + filetypes = { "go", "go.mod" }, + root_dir = util.root_pattern("go.work", "go.mod", ".git"), + settings = { + gopls = { + analyses = { + unusedparams = true, + }, + staticcheck = true, + gofumpt = true, + }, + }, +})) + +lspconfig.templ.setup(config({ + cmd = { "templ", "lsp" }, + filetypes = { "templ" }, + root_markers = { "go.work", "go.mod", ".git" }, +})) |
