diff --git a/lua/lsp.lua b/lua/lsp.lua index f772153..1136b33 100644 --- a/lua/lsp.lua +++ b/lua/lsp.lua @@ -1,18 +1,22 @@ -local lsp = require('lsp-zero').preset({ - name = 'minimal', - set_lsp_keymaps = false, - manage_nvim_cmp = true, - suggest_lsp_servers = false, -}) +local lsp = require('lsp-zero') + +-- name = 'minimal', +-- set_lsp_keymaps = false, +-- manage_nvim_cmp = true, +-- suggest_lsp_servers = false, +--}) local keybindings = require('keybindings') local on_attach = keybindings.on_attach local cmp_mapping = keybindings.cmp_mappings -lsp.on_attach(on_attach) +lsp.extend_lspconfig({ + lsp_attach = on_attach, + capabilities = require('cmp_nvim_lsp').default_capabilities(), +}) local cmp = require('cmp') -local cmp_config = lsp.defaults.cmp_config({ +local cmp_config = { preselect = 'none', window = { completion = cmp.config.window.bordered(), @@ -26,25 +30,29 @@ local cmp_config = lsp.defaults.cmp_config({ experimental = { ghost_text = false -- conflicts with copilot.vim's preview }, -}) +} cmp.setup(cmp_config) --- Configure lua language server for neovim -lsp.nvim_workspace() - lsp.configure('rust_analyzer', { settings = { ["rust-analyzer"] = { procMacro = { - enable = true + enable = true, + ignored = { + leptos_macro = { "server" }, + }, + }, + cargo = { + allFeatures = true, }, } } }) -require'lspconfig'.tsserver.setup { +lsp.configure('ts_ls', { + -- set commands to run the language server using npx cmd = { "npx", "typescript-language-server", "--stdio" }, -} +}) lsp.configure('html', { cmd = { "npx", "vscode-html-language-server", "--stdio" }, @@ -61,6 +69,9 @@ lsp.configure('clangd', {}) lsp.configure('pylsp', {}) -lsp.setup_servers({'rust_analyzer', 'html', 'texlab', 'clangd', 'pylsp'}) +-- gopls +lsp.configure('gopls', {}) + +lsp.setup_servers({'rust_analyzer', 'html', 'texlab', 'clangd', 'pylsp', 'gopls', 'ts_ls'}) lsp.setup() diff --git a/lua/plugins.lua b/lua/plugins.lua index 0d5addf..e509e5c 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -30,7 +30,7 @@ local plugins = require('packer').startup(function(use) -- lsp use { 'VonHeikemen/lsp-zero.nvim', - branch = 'v2.x', + branch = 'v4.x', requires = { -- LSP Support {'neovim/nvim-lspconfig'},