summaryrefslogtreecommitdiff
path: root/after/plugin/lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'after/plugin/lsp.lua')
-rw-r--r--after/plugin/lsp.lua45
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,
+ },
+})