From 564460314421614e0e6a1c2c11d7e4b040dc6d45 Mon Sep 17 00:00:00 2001 From: siduck Date: Tue, 15 Aug 2023 20:26:06 +0530 Subject: [PATCH] include cmp-lsp capabilities for lspconfig capabilities --- lua/plugins/configs/lspconfig.lua | 55 ++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/lua/plugins/configs/lspconfig.lua b/lua/plugins/configs/lspconfig.lua index 18e84ad..1aa60e2 100644 --- a/lua/plugins/configs/lspconfig.lua +++ b/lua/plugins/configs/lspconfig.lua @@ -21,26 +21,49 @@ M.on_attach = function(client, bufnr) end end -M.capabilities = vim.lsp.protocol.make_client_capabilities() - -M.capabilities.textDocument.completion.completionItem = { - documentationFormat = { "markdown", "plaintext" }, - snippetSupport = true, - preselectSupport = true, - insertReplaceSupport = true, - labelDetailsSupport = true, - deprecatedSupport = true, - commitCharactersSupport = true, - tagSupport = { valueSet = { 1 } }, - resolveSupport = { - properties = { - "documentation", - "detail", - "additionalTextEdits", +M.cmp_lsp_capabilities = { + textDocument = { + completion = { + dynamicRegistration = false, + completionItem = { + snippetSupport = true, + commitCharactersSupport = true, + deprecatedSupport = true, + preselectSupport = true, + tagSupport = { valueSet = { 1 } }, + insertReplaceSupport = true, + resolveSupport = { + properties = { + "documentation", + "detail", + "additionalTextEdits", + }, + }, + insertTextModeSupport = { + valueSet = { + 1, -- asIs + 2, -- adjustIndentation + }, + }, + labelDetailsSupport = true, + }, + contextSupport = true, + insertTextMode = 1, + completionList = { + itemDefaults = { + "commitCharacters", + "editRange", + "insertTextFormat", + "insertTextMode", + "data", + }, + }, }, }, } +M.capabilities = vim.tbl_deep_extend("force", vim.lsp.protocol.make_client_capabilities(), M.cmp_lsp_capabilities) + require("lspconfig").lua_ls.setup { on_attach = M.on_attach, capabilities = M.capabilities,