This repository has been archived on 2024-05-02. You can view files and clone it, but cannot push or open issues or pull requests.
neovim-flake/neovim-ide/ftplugin/rust.lua

50 lines
2.2 KiB
Lua

local crates = require("crates")
require("which-key").register {
["<leader>C"] = { name = "Crate", _ = "which_key_ignore" },
}
vim.g.rustaceanvim = {
server = {
settings = {
-- rust-analyzer language server configuration
["rust-analyzer"] = {
check = { command = "clippy" },
},
},
},
}
crates.setup {
null_ls = {
enabled = false,
name = "Crates",
},
}
local opts = function(opts)
return vim.tbl_deep_extend("force", { silent = true }, opts)
end
vim.keymap.set("n", "<leader>Ct", crates.toggle, opts({ desc = "Crate toggle" }))
vim.keymap.set("n", "<leader>Cr", crates.reload, opts({ desc = "Crate reload" }))
vim.keymap.set("n", "<leader>Cv", crates.show_versions_popup, opts({ desc = "Show version popup" }))
vim.keymap.set("n", "<leader>Cf", crates.show_features_popup, opts({ desc = "Show features popup" }))
vim.keymap.set("n", "<leader>Cd", crates.show_dependencies_popup, opts({ desc = "Show dependencies popup" }))
vim.keymap.set("n", "<leader>Cu", crates.update_crate, opts({ desc = "Update crate" }))
vim.keymap.set("v", "<leader>Cu", crates.update_crates, opts({ desc = "Update Crates" }))
vim.keymap.set("n", "<leader>Cp", crates.update_all_crates, opts({desc = "Update all crates" }))
vim.keymap.set("n", "<leader>CU", crates.upgrade_crate, opts({ desc = "Upgrade crate" }))
vim.keymap.set("v", "<leader>CU", crates.upgrade_crates, opts({ desc = "Upgrade crate" }))
vim.keymap.set("n", "<leader>CP", crates.upgrade_all_crates, opts({ desc = "Upgrade all crates" }))
vim.keymap.set("n", "<leader>Cx", crates.expand_plain_crate_to_inline_table,
opts({ desc = "Expand plain crate into inline table" }))
vim.keymap.set("n", "<leader>CX", crates.extract_crate_into_table, opts({ desc = "Extract crate into table" }))
vim.keymap.set("n", "<leader>CH", crates.open_homepage, opts({ desc = "Open homepage" }))
vim.keymap.set("n", "<leader>CR", crates.open_repository, opts({ desc = "Open repository" }))
vim.keymap.set("n", "<leader>CD", crates.open_documentation, opts({ desc = "Open documentation" }))
vim.keymap.set("n", "<leader>CC", crates.open_crates_io, opts({ desc = "Open crates.io" }))