From 86e9f0b46e49e6f74977220ae9be3b8fbb862d62 Mon Sep 17 00:00:00 2001 From: Gerard Salvatella Date: Sun, 20 Jul 2025 22:32:04 +0200 Subject: [PATCH] docs: extend default capabilities with cmp ones The `default_capabilities()` function does only return the `textDocument.completion` subset of capabilities. The correct approach to advertise the full set of nvim-cmp's capabilities to the LSP servers is to first get the default set of capabilities, and then extend it with the subset returned by the function. Use this approach in the documentation. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dba8c53..e3494f4 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,9 @@ require'cmp'.setup { } -- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers.. -local capabilities = require('cmp_nvim_lsp').default_capabilities() +local default_caps = vim.lsp.protocol.make_client_capabilities() +local cmp_caps = require("cmp_nvim_lsp").default_capabilities() +local capabilities = vim.tbl_deep_extend("force", default_caps, cmp_caps) -- An example for configuring `clangd` LSP to use nvim-cmp as a completion engine require('lspconfig').clangd.setup {