aboutsummaryrefslogtreecommitdiffstats
path: root/lua/pi/lsp/servers/lua_ls.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/pi/lsp/servers/lua_ls.lua')
-rw-r--r--lua/pi/lsp/servers/lua_ls.lua25
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",