aboutsummaryrefslogtreecommitdiff
path: root/config/nvim/lua
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2021-12-19 07:27:29 +0100
committerCharles Cabergs <me@cacharle.xyz>2021-12-19 07:27:29 +0100
commit40334d274db2883381cc7842aabc4c1cd3da9290 (patch)
treeb23cc0d10590da6ee127af08f1b871c1edbc92dd /config/nvim/lua
parent00fd5bbb537c368ccfc85ba29823e4d616c45d17 (diff)
downloaddotfiles-40334d274db2883381cc7842aabc4c1cd3da9290.tar.gz
dotfiles-40334d274db2883381cc7842aabc4c1cd3da9290.tar.bz2
dotfiles-40334d274db2883381cc7842aabc4c1cd3da9290.zip
Added lsp on_attach for rust
Diffstat (limited to 'config/nvim/lua')
-rw-r--r--config/nvim/lua/plugins.lua28
1 files changed, 23 insertions, 5 deletions
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', '<leader>[', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
map('n', '<leader>]', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
+ map('n', 'gk', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
+ map('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
- map('n', '<leader>q', '<cmd>Telescope lsp_workspace_diagnostics<CR>', opts)
+ map('n', '<leader>q', '<cmd>Telescope diagnostics<CR>', opts)
map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', 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', '<leader>[', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
+ map('n', '<leader>]', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
+ map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
+ map('n', 'gk', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
+ map('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
+ map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
+ map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
+ map('n', '<leader>q', '<cmd>Telescope diagnostics<CR>', opts)
+ map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
+ end
+ require('rust-tools').setup {
+ server = {
+ on_attach = on_attach,
+ }
+ }
vim.diagnostic.config {
signs = false,
update_in_insert = false,