return { { "Saecki/crates.nvim", lazy = true, event = { "BufEnter Cargo.toml" }, config = function() local crates = require("crates") crates.setup({ completion = { crates = { enabled = true, max_results = 5, min_chars = 3, } }, lsp = { enabled = true, on_attach = require("plugins.lsp").on_lsp_attach, actions = true, completion = true, hover = true, } }) vim.keymap.set("n", "cv", crates.show_versions_popup) vim.keymap.set("n", "cf", crates.show_features_popup) vim.keymap.set("n", "cd", crates.show_dependencies_popup) vim.keymap.set("n", "cu", crates.update_crate) vim.keymap.set("v", "cu", crates.update_crates) vim.keymap.set("n", "cA", crates.update_all_crates) vim.keymap.set("n", "cD", crates.open_documentation) end, }, { "vxpm/ferris.nvim", ft = { "rust" }, init = function() vim.keymap.set("n", "od", require("ferris.methods.open_documentation")) end }, }