feat(nvim): switch rust-tools to rustaceanvim

This commit is contained in:
u2515h 2024-01-06 22:04:48 +01:00
parent a909ea3bf3
commit 838f1fb262
3 changed files with 35 additions and 9 deletions

View File

@ -20,6 +20,13 @@ autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
vim.opt.spell = true
vim.opt.spelllang = {'en_us'}
vim.lsp.handlers["textDocument/publishDiagnostics"] =
vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics,
{
virtual_text = true,
}
)
-- Completion Plugin Setup
local cmp = require 'cmp'
cmp.setup({
@ -82,3 +89,8 @@ cmp.setup({
end
}
})
cmp.setup.cmdline('/', {
sources = {
{ name = 'buffer' },
}
})

View File

@ -55,7 +55,7 @@ in
cmp-spell
cmp-conventionalcommits
cmp-calc
rust-tools-nvim
rustaceanvim
plenary-nvim
crates-nvim
nvim-lspconfig

View File

@ -1,9 +1,8 @@
local rt = require("rust-tools")
local nvim_lsp = require 'lspconfig'
local c = vim.lsp.protocol.make_client_capabilities()
local deps = require("nvim-deps")
rt.setup({
vim.g.rustaceanvim = {
tools = { -- rust-tools options
-- how to execute terminal commands
-- options right now: termopen / quickfix / toggleterm / vimux
@ -122,13 +121,28 @@ rt.setup({
local keymap_opts = {buffer = bufnr}
-- Hover actions
-- call twice to focus
vim.keymap.set("n", "<leader>h", rt.hover_actions.hover_actions,
keymap_opts)
vim.keymap.set("n", "<leader>K",
function()
vim.cmd.RustLsp { 'hover', 'actions' }
end, keymap_opts)
-- Code action groups
vim.keymap.set("n", "<leader>as",
rt.code_action_group.code_action_group, keymap_opts)
vim.keymap.set('n', '<leader>c', rt.open_cargo_toml.open_cargo_toml)
vim.keymap.set("n", "g0", vim.lsp.buf.document_symbol, keymap_opts)
function()
vim.cmd.RustLsp { 'hover', 'actions' }
end, keymap_opts)
vim.keymap.set('n', '<leader>cc',
function()
vim.cmd.RustLsp('openCargo')
end, keymap_opts)
vim.keymap.set('n', '<leader>cr',
function()
vim.cmd.RustLsp {'runnables', 'last' --[[ optional ]] }
end, keymap_opts)
vim.keymap.set('n', '<leader>cd',
function()
vim.cmd.RustLsp {'debuggables', 'last' --[[ optional ]] }
end, keymap_opts)
-- vim.keymap.set("n", "g0", vim.lsp.buf.document_symbol, keymap_opts)
local diag_float_grp = vim.api.nvim_create_augroup(
"DiagnosticFloat", {clear = true})
vim.api.nvim_create_autocmd("CursorHold", {
@ -152,4 +166,4 @@ rt.setup({
name = "rt_lldb"
}
}
})
}