diff options
| author | Elvis Claros Castro <elvis@claros.ar> | 2025-08-30 19:21:25 -0300 |
|---|---|---|
| committer | Elvis Claros Castro <elvis@claros.ar> | 2025-08-30 19:21:25 -0300 |
| commit | ec011dd9c8d4372f4f8566b87981ecc178675adf (patch) | |
| tree | 671b6be58f94528f790f05422bc75a1c3f988172 /lua/pi/lsp/servers/lua_ls.lua | |
| parent | bcb5775dabf2b9144d8a87721d0095d087827f3e (diff) | |
| download | nvim-conf-ec011dd9c8d4372f4f8566b87981ecc178675adf.tar.gz nvim-conf-ec011dd9c8d4372f4f8566b87981ecc178675adf.zip | |
feat(lsp): migración a configuración nativa de LSP en Neovim y mejora de servidores
- 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.
Diffstat (limited to 'lua/pi/lsp/servers/lua_ls.lua')
| -rw-r--r-- | lua/pi/lsp/servers/lua_ls.lua | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/lua/pi/lsp/servers/lua_ls.lua b/lua/pi/lsp/servers/lua_ls.lua index 3975310..c641911 100644 --- a/lua/pi/lsp/servers/lua_ls.lua +++ b/lua/pi/lsp/servers/lua_ls.lua @@ -3,10 +3,25 @@ local lsp_flags = require "pi.lsp.flags" return function(ops) if ops.neodev == true then - require("neodev").setup() + -- Setup neodev with explicit configuration for native LSP + require("neodev").setup { + library = { + enabled = true, + runtime = true, + types = true, + plugins = true, + }, + setup_jsonls = true, + lspconfig = false, -- Don't let neodev override lspconfig setup + } end - + + local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()) + return vim.tbl_extend("force", { + cmd = { "lua-language-server" }, + filetypes = { "lua" }, + capabilities = capabilities, on_attach = lsp_attach, flags = lsp_flags, settings = { @@ -26,6 +41,12 @@ return function(ops) }, hint = { enable = true, + -- Disable some problematic hints that might cause position issues + setType = false, + paramType = true, + paramName = "Disable", -- Can be "All", "Literal", "Disable" + semicolon = "Disable", -- Can be "All", "SameLine", "Disable" + arrayIndex = "Disable", -- Can be "All", "Auto", "Disable" }, completion = { callSnippet = "Replace", |