From ec011dd9c8d4372f4f8566b87981ecc178675adf Mon Sep 17 00:00:00 2001 From: Elvis Claros Castro Date: Sat, 30 Aug 2025 19:21:25 -0300 Subject: =?UTF-8?q?feat(lsp):=20migraci=C3=B3n=20a=20configuraci=C3=B3n=20?= =?UTF-8?q?nativa=20de=20LSP=20en=20Neovim=20y=20mejora=20de=20servidores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Refactoriza la configuración de LSP para usar vim.lsp.start/autocmd nativo, eliminando la dependencia de lspconfig en la mayoría de los servidores. - Añade funciones auxiliares para detección de directorio raíz y configuración de comandos de servidores. - Asegura que todos los servidores LSP tengan filetypes y capabilities explícitos para mejor integración. - Actualiza dependencias de plugins y eventos para soportar el nuevo flujo nativo de LSP. - Mejora el soporte de inlay hints y agrega un mapeo de teclas para alternar inlay hints. - Reemplaza el uso de lspconfig.util por vim.fs.find nativo para detección de raíz. - Marca la integración legacy de mason como obsoleta, favoreciendo la verificación nativa de ejecutables. - Limpia y estandariza los archivos de configuración de servidores para mayor consistencia. - Elimina el archivo no utilizado MIGRACION_BLINK.md. Esta migración permite mejor compatibilidad con Neovim 0.11+, simplifica la gestión de LSP y mejora el rendimiento y la fiabilidad. --- lua/pi/lsp/attach.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lua/pi/lsp/attach.lua') diff --git a/lua/pi/lsp/attach.lua b/lua/pi/lsp/attach.lua index 03002d6..24842fe 100644 --- a/lua/pi/lsp/attach.lua +++ b/lua/pi/lsp/attach.lua @@ -16,6 +16,13 @@ return function(client, bufnr) } end, { buffer = 0, desc = "LSP format file" }) + -- Add inlay hint toggle + vim.keymap.set("n", "vh", function() + local current = vim.lsp.inlay_hint.is_enabled({ bufnr = bufnr }) + vim.lsp.inlay_hint.enable(not current, { bufnr = bufnr }) + vim.notify("Inlay hints " .. (current and "disabled" or "enabled")) + end, { buffer = 0, desc = "LSP Toggle inlay hints" }) + telescope_mapper("gr", "lsp_references", { buffer = true, desc = "LSP References of symbol on cursor" }) telescope_mapper("pv", "find_symbol", { buffer = true, desc = "LSP find symbol on the project" }) telescope_mapper("pd", "lsp_document_symbols", { buffer = true, desc = "LSP document symbols" }) @@ -23,7 +30,11 @@ return function(client, bufnr) vim.bo.omnifunc = "v:lua.vim.lsp.omnifunc" + -- Enable inlay hints if supported (Neovim 0.11+ compatible) + -- Use pcall to handle any potential errors with inlay hints if client.server_capabilities.inlayHintProvider then - vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + pcall(function() + vim.lsp.inlay_hint.enable(true, { bufnr = bufnr }) + end) end end -- cgit v1.2.3