local crates = require("crates") require("which-key").register { ["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", "Ct", crates.toggle, opts({ desc = "Crate toggle" })) vim.keymap.set("n", "Cr", crates.reload, opts({ desc = "Crate reload" })) vim.keymap.set("n", "Cv", crates.show_versions_popup, opts({ desc = "Show version popup" })) vim.keymap.set("n", "Cf", crates.show_features_popup, opts({ desc = "Show features popup" })) vim.keymap.set("n", "Cd", crates.show_dependencies_popup, opts({ desc = "Show dependencies popup" })) vim.keymap.set("n", "Cu", crates.update_crate, opts({ desc = "Update crate" })) vim.keymap.set("v", "Cu", crates.update_crates, opts({ desc = "Update Crates" })) vim.keymap.set("n", "Cp", crates.update_all_crates, opts({desc = "Update all crates" })) vim.keymap.set("n", "CU", crates.upgrade_crate, opts({ desc = "Upgrade crate" })) vim.keymap.set("v", "CU", crates.upgrade_crates, opts({ desc = "Upgrade crate" })) vim.keymap.set("n", "CP", crates.upgrade_all_crates, opts({ desc = "Upgrade all crates" })) vim.keymap.set("n", "Cx", crates.expand_plain_crate_to_inline_table, opts({ desc = "Expand plain crate into inline table" })) vim.keymap.set("n", "CX", crates.extract_crate_into_table, opts({ desc = "Extract crate into table" })) vim.keymap.set("n", "CH", crates.open_homepage, opts({ desc = "Open homepage" })) vim.keymap.set("n", "CR", crates.open_repository, opts({ desc = "Open repository" })) vim.keymap.set("n", "CD", crates.open_documentation, opts({ desc = "Open documentation" })) vim.keymap.set("n", "CC", crates.open_crates_io, opts({ desc = "Open crates.io" }))