2024-01-07 16:26:06 +01:00
|
|
|
return {
|
2024-09-12 21:53:56 +02:00
|
|
|
{
|
|
|
|
"Saecki/crates.nvim",
|
|
|
|
tag = "stable",
|
|
|
|
init = function()
|
|
|
|
local crates = require("crates")
|
|
|
|
vim.api.nvim_create_autocmd("BufEnter", {
|
|
|
|
pattern = "Cargo.toml",
|
|
|
|
group = vim.api.nvim_create_augroup("UserCratesNvimConfig", {}),
|
|
|
|
callback = function(ev)
|
|
|
|
local opts = { silent = true, buffer = ev.buffer }
|
2024-01-07 16:26:06 +01:00
|
|
|
|
2024-09-12 21:53:56 +02:00
|
|
|
vim.keymap.set("n", "<leader>ct", crates.toggle, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cr", crates.reload, opts)
|
2024-01-07 16:26:06 +01:00
|
|
|
|
2024-09-12 21:53:56 +02:00
|
|
|
vim.keymap.set("n", "<leader>cv", crates.show_versions_popup, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cf", crates.show_features_popup, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cd", crates.show_dependencies_popup, opts)
|
2024-01-07 16:26:06 +01:00
|
|
|
|
2024-09-12 21:53:56 +02:00
|
|
|
vim.keymap.set("n", "<leader>cu", crates.update_crate, opts)
|
|
|
|
vim.keymap.set("v", "<leader>cu", crates.update_crates, opts)
|
|
|
|
vim.keymap.set("n", "<leader>ca", crates.update_all_crates, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cU", crates.upgrade_crate, opts)
|
|
|
|
vim.keymap.set("v", "<leader>cU", crates.upgrade_crates, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cA", crates.upgrade_all_crates, opts)
|
2024-01-07 16:26:06 +01:00
|
|
|
|
2024-09-12 21:53:56 +02:00
|
|
|
vim.keymap.set("n", "<leader>ce", crates.expand_plain_crate_to_inline_table, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cE", crates.extract_crate_into_table, opts)
|
2024-01-07 16:26:06 +01:00
|
|
|
|
2024-09-12 21:53:56 +02:00
|
|
|
vim.keymap.set("n", "<leader>cH", crates.open_homepage, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cR", crates.open_repository, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cD", crates.open_documentation, opts)
|
|
|
|
vim.keymap.set("n", "<leader>cC", crates.open_crates_io, opts)
|
|
|
|
end,
|
|
|
|
})
|
|
|
|
end,
|
|
|
|
opts = {},
|
|
|
|
event = "BufEnter Cargo.toml",
|
|
|
|
},
|
|
|
|
{
|
2024-12-16 15:37:31 +01:00
|
|
|
'mrcjkb/rustaceanvim',
|
|
|
|
version = '^5',
|
|
|
|
lazy = false,
|
|
|
|
init = function()
|
|
|
|
vim.g.rustaceanvim = {
|
2024-09-12 21:53:56 +02:00
|
|
|
server = {
|
2024-12-16 15:37:31 +01:00
|
|
|
on_attach = function(client, bufnr)
|
|
|
|
opts = { silent = true, buffer = bufnr }
|
|
|
|
vim.keymap.set("n", "<leader>a", function() vim.cmd.RustLsp('codeAction') end, opts)
|
|
|
|
vim.keymap.set("n", "K", function() vim.cmd.RustLsp({'hover', 'actions'}) end, opts)
|
|
|
|
end,
|
|
|
|
default_settings = {
|
|
|
|
['rust-analyzer'] = {
|
2024-09-12 21:53:56 +02:00
|
|
|
check = {
|
|
|
|
command = "clippy",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
2024-12-16 15:37:31 +01:00
|
|
|
}
|
2024-09-12 21:53:56 +02:00
|
|
|
end,
|
|
|
|
},
|
2024-01-07 16:26:06 +01:00
|
|
|
}
|