return { "saecki/crates.nvim", event = { "BufRead Cargo.toml" }, dependencies = { "nvim-lua/plenary.nvim" }, opts = { smart_insert = true, insert_closing_quote = true, autoload = true, autoupdate = true, autoupdate_throttle = 250, loading_indicator = true, date_format = "%Y-%m-%d", thousands_separator = ",", notification_title = "crates.nvim", curl_args = { "-sL", "--retry", "1" }, max_parallel_requests = 80, open_programs = { "xdg-open", "open" }, expand_crate_moves_cursor = true, enable_update_available_warning = true, on_attach = function(bufnr) end, text = { loading = " Loading", version = " %s", prerelease = " %s", yanked = " %s", nomatch = " No match", upgrade = " %s", error = " Error fetching crate", }, highlight = { loading = "CratesNvimLoading", version = "CratesNvimVersion", prerelease = "CratesNvimPreRelease", yanked = "CratesNvimYanked", nomatch = "CratesNvimNoMatch", upgrade = "CratesNvimUpgrade", error = "CratesNvimError", }, popup = { autofocus = false, hide_on_select = false, copy_register = '"', style = "minimal", border = "rounded", show_version_date = true, show_dependency_version = true, max_height = 30, min_width = 20, padding = 1, }, completion = { cmp = { enabled = true, }, }, lsp = { enabled = true, on_attach = function(client, bufnr) end, actions = true, completion = true, hover = true, }, }, keys = { { "ct", "lua require('crates').toggle()", desc = "Toggle crates" }, { "cr", "lua require('crates').reload()", desc = "Reload crates" }, { "cv", "lua require('crates').show_versions_popup()", desc = "Show versions" }, { "cf", "lua require('crates').show_features_popup()", desc = "Show features" }, { "cd", "lua require('crates').show_dependencies_popup()", desc = "Show dependencies" }, { "cu", "lua require('crates').update_crate()", desc = "Update crate" }, { "cU", "lua require('crates').upgrade_crate()", desc = "Upgrade crate" }, }, }