39 lines
971 B
Lua
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
|