feat(nvim): switch rust-tools to rustaceanvim
This commit is contained in:
parent
a909ea3bf3
commit
838f1fb262
@ -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' },
|
||||||
|
}
|
||||||
|
})
|
||||||
|
@ -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
|
||||||
|
30
rust.lua
30
rust.lua
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user