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.spell = true
vim.opt.spelllang = {'en_us'} 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 -- Completion Plugin Setup
local cmp = require 'cmp' local cmp = require 'cmp'
cmp.setup({ cmp.setup({
@ -82,3 +89,8 @@ cmp.setup({
end end
} }
}) })
cmp.setup.cmdline('/', {
sources = {
{ name = 'buffer' },
}
})

View File

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

View File

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