From 40334d274db2883381cc7842aabc4c1cd3da9290 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Sun, 19 Dec 2021 07:27:29 +0100 Subject: Added lsp on_attach for rust --- config/nvim/lua/plugins.lua | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'config/nvim') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 34b878d..a65802e 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -13,23 +13,24 @@ return require('packer').startup(function() 'neovim/nvim-lspconfig', ft = {'rust', 'python', 'c', 'cpp', 'lua'}, config = function() - local on_attach = function(client, bufnr) + local on_attach = function(_, bufnr) local opts = { noremap = true, silent = true } local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end map('n', '[', 'lua vim.lsp.buf.declaration()', opts) map('n', ']', 'lua vim.lsp.buf.definition()', opts) map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope lsp_workspace_diagnostics', opts) + map('n', 'q', 'Telescope diagnostics', opts) map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) end local lspconfig = require('lspconfig') lspconfig.clangd.setup { on_attach = on_attach } + lspconfig.rust_analyzer.setup { on_attach = on_attach } -- need python-lsp-server and pyls-flake8 lspconfig.pylsp.setup { on_attach = on_attach } - -- rust_analyzer - lspconfig.rust_analyzer.setup { on_attach = on_attach } -- package lua-language-server on ArchLinux lspconfig.sumneko_lua.setup { on_attach = on_attach , @@ -68,7 +69,24 @@ return require('packer').startup(function() requires = {'neovim/nvim-lspconfig'}, ft = {'rust'}, config = function() - require('rust-tools').setup {} + local on_attach = function(_, bufnr) + local opts = { noremap = true, silent = true } + local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + map('n', ']', 'lua vim.lsp.buf.definition()', opts) + map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + map('n', 'q', 'Telescope diagnostics', opts) + map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + end + require('rust-tools').setup { + server = { + on_attach = on_attach, + } + } vim.diagnostic.config { signs = false, update_in_insert = false, -- cgit