Files
nvim-config/lua/plugins/rustacean.lua
2026-01-20 11:59:23 +01:00

50 lines
1.5 KiB
Lua

return {{
"mrcjkb/rustaceanvim",
version = "^6", -- Recommended
ft = { "rs" },
lazy = false,
opts = {
tools = {},
server = {
status_notify_level = false,
on_attach = function(_, bufnr)
vim.keymap.set("n", "<leader>cR", function()
vim.cmd.RustLsp("codeAction")
end, { desc = "Code Action", buffer = bufnr })
vim.keymap.set("n", "<leader>dr", function()
vim.cmd.RustLsp("debuggables")
end, { desc = "Rust Debuggables", buffer = bufnr })
end,
default_settings = {
-- rust-analyzer language server configuration
["rust-analyzer"] = {
cargo = {
allFeatures = true,
loadOutDirsFromCheck = true,
runBuildScripts = true,
},
-- They changed the configuration, so it's only checkOnSave with a boolean
-- # TODO: Figure out how we can enable clippy lints again
--checkOnSave = {
-- allFeatures = true,
-- command = "clippy",
-- extraArgs = { "--no-deps" },
--},
checkOnSave = true,
procMacro = {
enable = true,
ignored = {
["async-trait"] = { "async_trait" },
["napi-derive"] = { "napi" },
["async-recursion"] = { "async_recursion" },
},
},
},
},
},
},
config = function(_, opts)
vim.g.rustaceanvim = vim.tbl_deep_extend("keep", vim.g.rustaceanvim or {}, opts or {})
end,
}}