From 9f0d9890fd4a09e66100ae78efc60f4c83569bcf Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Mon, 20 May 2024 11:15:11 +0100 Subject: [PATCH] Ensure all LSP capabilities are broadcast --- lua/plugins/completions.lua | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lua/plugins/completions.lua b/lua/plugins/completions.lua index 556460a..54556c8 100644 --- a/lua/plugins/completions.lua +++ b/lua/plugins/completions.lua @@ -72,6 +72,10 @@ return { }, config = function() + local capabilities = vim.lsp.protocol.make_client_capabilities() + capabilities = vim.tbl_deep_extend( + 'force', capabilities, require('cmp_nvim_lsp').default_capabilities()) + require('mason').setup() require('mason-lspconfig').setup({ automatic_installation = false, @@ -81,18 +85,26 @@ return { -- Default handler, sets up everything unless a custom language server -- setup handler is defined below function(server_name) - require('lspconfig')[server_name].setup({}) + require('lspconfig')[server_name].setup({ + capabilities = capabilities, + }) end, ['clangd'] = function() require('lspconfig').clangd.setup({ - cmd = { 'clangd', '--completion-style=detailed' } + capabilities = capabilities, + cmd = { + 'clangd', + '--completion-style=detailed', + '--function-arg-placeholders=1', + } }) end, ['lua_ls'] = function() require('neodev').setup() require('lspconfig').lua_ls.setup({ + capabilities = capabilities, settings = { Lua = { diagnostics = { @@ -106,6 +118,7 @@ return { ['pyright'] = function() require('lspconfig').pyright.setup({ + capabilities = capabilities, settings = { pyright = { disableOrganizeImports = true, -- Use ruff import sorter instead