From 2879a2ca5d563d5f7e2814fa791c3071e5497ab3 Mon Sep 17 00:00:00 2001 From: "Mariano Z." Date: Mon, 22 Dec 2025 17:13:42 -0300 Subject: [PATCH] dev: automated commit - 2025-12-22 17:13:42 --- lua/plugins/lsp.lua | 55 +++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index e30fdc4..e12f1cb 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -55,39 +55,30 @@ function M.config() } for _, server in ipairs(servers) do - lspconfig[server].setup({}) + lspconfig[server].setup({ + on_attach = function(client, bufnr) + local opts = { buffer = bufnr, silent = true } + + nmap("K", vim.lsp.buf.hover, vim.tbl_extend("force", opts, { desc = "Hover Doc" })) + nmap("", vim.lsp.buf.signature_help, vim.tbl_extend("force", opts, { desc = "Signature Help" })) + nmap("r", vim.lsp.buf.rename, vim.tbl_extend("force", opts, { desc = "Rename" })) + nmap("ca", vim.lsp.buf.code_action, vim.tbl_extend("force", opts, { desc = "Code Action" })) + nmap("vd", vim.diagnostic.open_float, vim.tbl_extend("force", opts, { desc = "View Diagnostics" })) + nmap("lr", "LspRestart", vim.tbl_extend("force", opts, { desc = "Restart LSP" })) + + if client.server_capabilities.documentHighlightProvider then + vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { + buffer = bufnr, + callback = vim.lsp.buf.document_highlight, + }) + vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, { + buffer = bufnr, + callback = vim.lsp.buf.clear_references, + }) + end + end, + }) end - - vim.api.nvim_create_autocmd("LspAttach", { - group = vim.api.nvim_create_augroup("lsp", { clear = true }), - callback = function(ev) - local opts = { buffer = ev.buf, silent = true } - local client = vim.lsp.get_client_by_id(ev.data.client_id) - - nmap("K", vim.lsp.buf.hover, vim.tbl_extend("force", opts, { desc = "Hover Doc" })) - nmap("", vim.lsp.buf.signature_help, vim.tbl_extend("force", opts, { desc = "Signature Help" })) - nmap("r", vim.lsp.buf.rename, vim.tbl_extend("force", opts, { desc = "Rename" })) - nmap("ca", vim.lsp.buf.code_action, vim.tbl_extend("force", opts, { desc = "Code Action" })) - nmap("vd", vim.diagnostic.open_float, vim.tbl_extend("force", opts, { desc = "View Diagnostics" })) - nmap("lr", "LspRestart", vim.tbl_extend("force", opts, { desc = "Restart LSP" })) - - if client and client.server_capabilities.documentHighlightProvider then - local hl_group = vim.api.nvim_create_augroup("lsp_document_highlight_" .. ev.buf, { clear = true }) - - vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { - group = hl_group, - buffer = ev.buf, - callback = vim.lsp.buf.document_highlight, - }) - - vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, { - group = hl_group, - buffer = ev.buf, - callback = vim.lsp.buf.clear_references, - }) - end - end, - }) end return M