From f5bd91045d9d979496ace63e9ac3b5021e380625 Mon Sep 17 00:00:00 2001 From: alemi Date: Fri, 31 May 2024 18:09:45 +0200 Subject: [PATCH] feat: use rustaceanvim ratheer than rust-tools also inlay hint fixes --- init.lua | 1 + lua/keybinds.lua | 6 ++++-- lua/plugins.lua | 38 ++++++++++++-------------------------- 3 files changed, 17 insertions(+), 28 deletions(-) diff --git a/init.lua b/init.lua index 63936f6..2b3df34 100644 --- a/init.lua +++ b/init.lua @@ -161,6 +161,7 @@ require('lazy').setup(PLUGINS) --|| THEME vim.cmd("colorscheme peak") -- TODO can I do it in lua? +vim.lsp.inlay_hint.enable(true) -- default on --|| UTILITY function P(something) print(vim.inspect(something)) end diff --git a/lua/keybinds.lua b/lua/keybinds.lua index 4cfbcf3..1649d0a 100644 --- a/lua/keybinds.lua +++ b/lua/keybinds.lua @@ -45,7 +45,7 @@ function KEYBINDS:set_global_keys(opts) vim.keymap.set('n', '', ':Neotree toggle', {noremap=true}) vim.keymap.set('n', '', ':Neotree toggle source=symbolmap right', {noremap=true}) vim.keymap.set('n', '', ':Neotree toggle source=diagnostics bottom', opts) - vim.keymap.set('n', '', vim.cmd.UndotreeToggle, {noremap=true}) + -- vim.keymap.set('n', '', vim.cmd.UndotreeToggle, {noremap=true}) -- Esc goes back to normal mode in terminal vim.keymap.set('t', '', '', opts) @@ -80,12 +80,13 @@ function KEYBINDS:set_lsp_keys(opts) vim.keymap.set('n', 'D', vim.lsp.buf.declaration, opts) vim.keymap.set('n', 'd', vim.lsp.buf.definition, opts) vim.keymap.set('n', 'y', vim.lsp.buf.type_definition, opts) - vim.keymap.set('n', 'i', vim.lsp.buf.implementation, opts) + vim.keymap.set('n', 'R', vim.lsp.buf.implementation, opts) vim.keymap.set('n', 'r', vim.lsp.buf.references, opts) vim.keymap.set('n', 'h', vim.lsp.buf.hover, opts) vim.keymap.set('n', 'f', vim.lsp.buf.signature_help, opts) vim.keymap.set('n', '', vim.lsp.buf.hover, opts) vim.keymap.set('n', '', vim.lsp.buf.hover, opts) + vim.keymap.set('n', 'H', function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end) -- vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) -- vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) vim.keymap.set('n', '', vim.lsp.buf.rename, opts) @@ -93,6 +94,7 @@ function KEYBINDS:set_lsp_keys(opts) vim.keymap.set('n', '', vim.diagnostic.open_float, opts) vim.keymap.set('n', '', vim.diagnostic.open_float, opts) vim.keymap.set('n', '', vim.diagnostic.open_float, opts) -- fallback for windows + vim.keymap.set('n', '', function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end) -- It's not really a keybind but whatever vim.api.nvim_create_user_command( 'Format', diff --git a/lua/plugins.lua b/lua/plugins.lua index 1933fda..fb18fb6 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -15,10 +15,10 @@ PPPPPPPPPPPPGBPG&&& &&&&&&###BBBGGGGGGGBB##&& - pickers: telescope.nvim &BGPPPPPPPPPPPPPPGGGGGGGGGGGGGGGGGGGBBB##&&& - files: neo-tree.nvim &&##BBBBGGGGGGGPGBBBBBB####&&&& - git: vim-fugitive + gitsigns.nvim - &#B#& - extra: hexmode, vim-combo, - && ###& rust-tools, nvim-colorizer, - &G# &&#&&& nvim-jdtls, vim-surround, - &&& undotree, + &#B#& - extra: hexmode, vim-surround, + && ###& undotree, nvim-colorizer, + &G# &&#&&& nvim-jdtls, rustaceanvim, + &&& vim-combo, ]]-- local function set_lsp_binds(_, bufnr) @@ -156,32 +156,18 @@ return { }, { - 'simrat39/rust-tools.nvim', -- extra LSP defaults for rust - dependencies = { - 'hrsh7th/nvim-cmp', -- referenced here to guarantee load order - }, config = function () - local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) - local rust_tools = require("rust-tools") - rust_tools.setup({ - tools = { - inlay_hints = { auto = true, highlight = "InlayHint" }, - hover_actions = { border = "none" }, - }, + { + 'mrcjkb/rustaceanvim', + init = function () + vim.g.rustaceanvim = { server = { - capabilities = capabilities, + capabilites = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()), on_attach = set_lsp_binds, - settings = { - ['rust-analyzer'] = { - checkOnSave = { command = "clippy" }, - } - } }, - dap = { adapter = require('dap').adapters.lldb }, - }) - rust_tools.inlay_hints.enable() - - end + } + end, + lazy = false, }, {