50 lines
1.5 KiB
Lua
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,
|
|
}}
|