From 97af93b2a8ebc89364852e3f63e9fd8cfedaeedf Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Mon, 9 Jun 2025 13:43:45 +0300 Subject: =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D1=91=D0=BB=20dotfiles?= =?UTF-8?q?=20=D0=BD=D0=B0=20stow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/nvim/lua/lsp.lua | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 config/nvim/lua/lsp.lua (limited to 'config/nvim/lua/lsp.lua') 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" }, +})) -- cgit v1.2.3