dotfiles/nvim/lua/plugins/rust-tools.lua

41 lines
1.1 KiB
Lua
Raw Normal View History

2023-08-20 14:27:47 +02:00
local M = {}
function M.config()
2023-07-10 14:30:11 +02:00
local rt = require "rust-tools"
2023-07-11 23:48:37 +02:00
local mason = require "mason-registry"
local capabilities = require "cmp_nvim_lsp"
local lsp_root = mason.get_package("codelldb"):get_install_path() .. "/extension/"
local lsp_path = lsp_root .. "adapter/codelldb"
local lib_path = lsp_root .. "lldb/lib/liblldb.so"
local opts = {
2023-07-10 14:30:11 +02:00
server = {
2023-07-11 23:48:37 +02:00
standalone = true,
-- capabilities = capabilities,
2023-07-10 14:30:11 +02:00
on_attach = function(client, bufnr)
2023-07-29 21:15:17 +02:00
local buf_opts = { noremap = true, silent = true, buffer = bufnr }
2023-07-11 23:48:37 +02:00
vim.keymap.set('n', "<C-b>", rt.hover_actions.hover_actions, buf_opts)
vim.keymap.set('n', "<Leader>a", rt.code_action_group.code_action_group, buf_opts)
2023-07-10 14:30:11 +02:00
vim.keymap.set('n', 'K', vim.lsp.buf.hover, buf_opts)
end,
["rust-analyzer"] = {
cargo = { allFeatures = true },
checkOnSave = {
-- default: `cargo check`
command = "clippy",
allFeatures = true,
}
2023-07-29 21:15:17 +02:00
}
2023-07-11 23:48:37 +02:00
},
dap = {
adapter = require("rust-tools.dap").get_codelldb_adapter(lsp_path, lib_path),
},
}
rt.setup(opts)
2023-07-10 14:30:11 +02:00
end
2023-08-20 14:27:47 +02:00
return M