From a5a595bcfe365716bb05e68112916c2fd302fb5e Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Thu, 25 Jul 2024 09:07:38 +0200 Subject: Update nvim to use newer rust integration --- config/nvim/lua/plugins.lua | 80 +++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 46 deletions(-) diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index f2d1367..c576cf7 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -1,5 +1,21 @@ vim.cmd [[ packadd packer.nvim ]] + +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", "rn", "lua vim.lsp.buf.rename()", opts) + map("n", "q", "Telescope diagnostics", opts) + map("n", "p", "Telescope lsp_workspace_symbols", opts) +end + return require("packer").startup(function() use "wbthomason/packer.nvim" -- plugin manager (can manage itself) use "AndrewRadev/sideways.vim" -- Move arguments sideways @@ -93,26 +109,13 @@ return require("packer").startup(function() -- nvim lsp configuration use { "neovim/nvim-lspconfig", - ft = {"rust", "python", "c", "cpp", "lua", "go", "haskell", "ocaml", "zig", "yaml", "odin"}, +-- "rust", + ft = {"python", "c", "cpp", "lua", "go", "haskell", "ocaml", "zig", "yaml", "odin"}, config = function() vim.diagnostic.config { signs = false, update_in_insert = false, } - 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", "rn", "lua vim.lsp.buf.rename()", opts) - map("n", "q", "Telescope diagnostics", opts) - map("n", "p", "Telescope lsp_workspace_symbols", opts) - end local lspconfig = require("lspconfig") local capabilities = require("cmp_nvim_lsp").default_capabilities( vim.lsp.protocol.make_client_capabilities() @@ -151,7 +154,7 @@ return require("packer").startup(function() "BufWritePre", { callback = go_import_callback, pattern = "*.go", group = augroup } ) - lspconfig.rust_analyzer.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, @@ -227,36 +230,21 @@ return require("packer").startup(function() end, } - -- -- rust lsp (needs rust-analyser) - -- use { - -- "simrat39/rust-tools.nvim", - -- requires = {"neovim/nvim-lspconfig"}, - -- ft = {"rust"}, - -- config = function() - -- 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, - -- } - -- end - -- } + use { + "mrcjkb/rustaceanvim", + ft = {"rust"}, + config = function() + -- to toggle inlay hints + -- vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + -- vim.g.rustaceanvim.server.on_attach = on_attach + vim.diagnostic.config { + signs = false, + update_in_insert = false, + } + -- require("rustaceanvim") + -- vim.g.rustaceanvim.server.on_attach = on_attach + end, + } use { "hrsh7th/nvim-cmp", -- cgit