diff --git a/home/programs/neovim/default.nix b/home/programs/neovim/default.nix index 2967043..3ecd70c 100644 --- a/home/programs/neovim/default.nix +++ b/home/programs/neovim/default.nix @@ -10,6 +10,7 @@ vscode-langservers-extracted gopls nil + rust-analyzer ]; plugins = with pkgs.vimPlugins; [ vim-surround diff --git a/home/programs/neovim/lspconfig.lua b/home/programs/neovim/lspconfig.lua index 0c48b40..6d39e7f 100644 --- a/home/programs/neovim/lspconfig.lua +++ b/home/programs/neovim/lspconfig.lua @@ -1,20 +1,26 @@ -- Setup language servers. local lspconfig = require('lspconfig') -lspconfig.tsserver.setup { - on_attach = function(client) +local on_attach = function(client) + require'completion'.on_attach(client) client.server_capabilities.documentFormattingProvider = false - end +end + +lspconfig.tsserver.setup { + on_attach = on_attach } lspconfig.eslint.setup { - on_attach = function(client) - client.server_capabilities.documentFormattingProvider = true - end + on_attach = on_attach +} + +lspconfig.rust_analyzer.setup { + on_attach = on_attach } lspconfig.gopls.setup {} lspconfig.nil_ls.setup {} +lspconfig.rust_analyzer.setup {} -- Use LspAttach autocommand to only map the following keys -- after the language server attaches to the current buffer