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

37 lines
1.1 KiB
Lua
Raw Normal View History

2023-07-10 14:30:11 +02:00
return function()
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)
local buf_opts = { noremap = true, silent = true, buffer = buf_number }
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-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