66 lines
1.5 KiB
Lua
66 lines
1.5 KiB
Lua
return {
|
|
{ "ron-rs/ron.vim" },
|
|
{
|
|
"mrcjkb/rustaceanvim",
|
|
version = vim.fn.has("nvim-0.10.0") == 0 and "^4" or false,
|
|
ft = { "rust" },
|
|
config = function(_, opts)
|
|
vim.g.rustaceanvim = vim.tbl_deep_extend("keep", vim.g.rustaceanvim or {}, opts or {})
|
|
|
|
for _, method in ipairs({ "textDocument/diagnostic", "workspace/diagnostic" }) do
|
|
local default_diagnostic_handler = vim.lsp.handlers[method]
|
|
vim.lsp.handlers[method] = function(err, result, context, config)
|
|
if err ~= nil and err.code == -32802 then
|
|
return
|
|
end
|
|
return default_diagnostic_handler(err, result, context, config)
|
|
end
|
|
end
|
|
end,
|
|
opts = {
|
|
server = {
|
|
default_settings = {
|
|
-- rust-analyzer language server configuration
|
|
["rust-analyzer"] = {
|
|
cargo = {
|
|
allFeatures = true,
|
|
loadOutDirsFromCheck = true,
|
|
buildScripts = {
|
|
enable = true,
|
|
},
|
|
},
|
|
procMacro = {
|
|
enable = true,
|
|
ignored = {
|
|
["async-trait"] = { "async_trait" },
|
|
["napi-derive"] = { "napi" },
|
|
["async-recursion"] = { "async_recursion" },
|
|
},
|
|
},
|
|
files = {
|
|
excludeDirs = {
|
|
".direnv",
|
|
".git",
|
|
".github",
|
|
".gitlab",
|
|
"bin",
|
|
"node_modules",
|
|
"target",
|
|
"venv",
|
|
".venv",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"saecki/crates.nvim",
|
|
event = { "BufRead Cargo.toml" },
|
|
config = function()
|
|
require("crates").setup()
|
|
end,
|
|
},
|
|
}
|