From bbe2523d10128d8f99b6ccb97450fe82ddf2ba55 Mon Sep 17 00:00:00 2001 From: hrsh7th Date: Mon, 9 Aug 2021 15:22:22 +0900 Subject: [PATCH] Update README.md --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 2ec0524..76a1acc 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,31 @@ nvim-cmp source for neovim builtin LSP client ```lua require('cmp_nvim_lsp').setup {} + + +-- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers.. +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.documentationFormat = { 'markdown' } +capabilities.textDocument.completion.completionItem.snippetSupport = true +capabilities.textDocument.completion.completionItem.preselectSupport = true +capabilities.textDocument.completion.completionItem.insertReplaceSupport = true +capabilities.textDocument.completion.completionItem.labelDetailsSupport = true +capabilities.textDocument.completion.completionItem.deprecatedSupport = true +capabilities.textDocument.completion.completionItem.commitCharactersSupport = true +capabilities.textDocument.completion.completionItem.tagSupport = { valueSet = { 1 } } +capabilities.textDocument.completion.completionItem.resolveSupport = { + properties = { + 'documentation', + 'detail', + 'additionalTextEdits', + } +} + +-- The following example advertise capabilities to `clangd`. +require'lspconfig'.clangd.setup { + capabilities = capabilities, +} ``` + +