vim.pack.add({ { src = 'https://github.com/Saecki/crates.nvim' }, }) local crates = require("crates") local opts = { silent = true } vim.keymap.set("n", "cct", crates.toggle, { desc = 'toggle' }) vim.keymap.set("n", "ccr", crates.reload, { desc = 'reload' }) vim.keymap.set("n", "ccv", crates.show_versions_popup, { desc = 'show versions' }) vim.keymap.set("n", "ccf", crates.show_features_popup, { desc = 'show features' }) vim.keymap.set("n", "ccd", crates.show_dependencies_popup, { desc = 'show dependencies' }) vim.keymap.set("n", "ccu", crates.update_crate, { desc = 'update' }) vim.keymap.set("v", "ccu", crates.update_crates, { desc = 'update' }) vim.keymap.set("n", "cca", crates.update_all_crates, { desc = 'update all' }) vim.keymap.set("n", "ccU", crates.upgrade_crate, { desc = 'upgrade' }) vim.keymap.set("v", "ccU", crates.upgrade_crates, { desc = 'upgrade' }) vim.keymap.set("n", "ccA", crates.upgrade_all_crates, { desc = 'upgrade all' }) vim.keymap.set("n", "ccx", crates.expand_plain_crate_to_inline_table, { desc = 'expand' }) vim.keymap.set("n", "ccX", crates.extract_crate_into_table, { desc = 'extract' }) vim.keymap.set("n", "ccH", crates.open_homepage, { desc = 'open homepage' }) vim.keymap.set("n", "ccR", crates.open_repository, { desc = 'open repository' }) vim.keymap.set("n", "ccD", crates.open_documentation, { desc = 'open documents' }) vim.keymap.set("n", "ccC", crates.open_crates_io, { desc = 'open crates.io' }) vim.keymap.set("n", "ccL", crates.open_lib_rs, { desc = 'open lib.rs' }) require('crates').setup({ completion = { crates = { enabled = true, }, }, lsp = { enabled = true, actions = true, completion = true, hover = true, }, })