dotfiles/nvim/lua/lsp_utils.lua
2026-06-02 08:20:14 +02:00

39 lines
971 B
Lua

local M = {}
M.get_default_capabilities = function()
local capabilities = vim.lsp.protocol.make_client_capabilities()
-- nvim-cmp integration (IMPORTANT)
local ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
if ok then
capabilities = cmp_nvim_lsp.default_capabilities(capabilities)
end
-- required by nvim-ufo (tu l'as déjà, on garde)
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true,
}
-- améliore Pyright / Python completion
capabilities.textDocument.completion.completionItem = {
snippetSupport = true,
preselectSupport = true,
insertReplaceSupport = true,
labelDetailsSupport = true,
deprecatedSupport = true,
commitCharactersSupport = true,
tagSupport = { valueSet = { 1 } },
resolveSupport = {
properties = {
"documentation",
"detail",
"additionalTextEdits",
},
},
}
return capabilities
end
return M