diff options
Diffstat (limited to 'after/plugin')
| -rw-r--r-- | after/plugin/lsp.lua | 45 |
1 files changed, 36 insertions, 9 deletions
diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua index 6feb11c..efb6ce9 100644 --- a/after/plugin/lsp.lua +++ b/after/plugin/lsp.lua @@ -9,7 +9,7 @@ local language_servers = { } local linux_language_servers = { - 'sumneko_lua', + 'lua_ls', 'rust_analyzer', 'clangd', } @@ -20,10 +20,11 @@ if io.popen("uname"):read("*a") == "Linux" then end end -lsp.ensure_installed(language_servers) +-- deprecated +-- lsp.ensure_installed(language_servers) -- Fix Undefined global 'vim' -lsp.configure('sumneko_lua', { +lsp.configure('lua_ls', { settings = { Lua = { diagnostics = { @@ -48,14 +49,23 @@ local cmp_mappings = lsp.defaults.cmp_mappings({ cmp_mappings['<Tab>'] = nil cmp_mappings['<S-Tab>'] = nil -lsp.setup_nvim_cmp({ - preselect = 'none', - mapping = cmp_mappings, - completion = { - completeopt = 'menu,menuone,noinsert,noselect' - } +cmp.setup({ + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert(cmp_mappings) }) +-- Previous setup, this call is now deprecated.... +-- lsp.setup_nvim_cmp({ +-- preselect = 'none', +-- mapping = cmp_mappings, +-- completion = { +-- completeopt = 'menu,menuone,noinsert,noselect' +-- } +-- }) + lsp.set_preferences({ suggest_lsp_servers = false, sign_icons = { @@ -114,3 +124,20 @@ vim.diagnostic.config({ virtual_text = true, }) + +require("mason").setup() +require('mason-lspconfig').setup({ + ensure_installed = {'tsserver', 'rust_analyzer'}, + handlers = { + lsp.default_setup, + tsserver = function() + require('lspconfig').tsserver.setup({ + settings = { + completions = { + completeFunctionCalls = true + } + } + }) + end, + }, +}) |
