diff options
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", |