feat(file_selector): command for switching the file picker provider. (#958)

This commit is contained in:
Christopher Brewin 2024-12-17 21:29:28 +10:00 committed by GitHub
parent 9e0b5bf8f1
commit e612ad7566
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 1 deletions

View File

@ -11,6 +11,15 @@ local PromptInput = require("avante.prompt_input")
---@field toggle avante.ApiToggle
local M = {}
---@param target_provider FileSelectorProvider
M.switch_file_selector_provider = function(target_provider)
require("avante.config").override({
file_selector = {
provider = target_provider,
},
})
end
---@param target Provider
M.switch_provider = function(target) require("avante.providers").refresh(target) end

View File

@ -238,8 +238,8 @@ M.defaults = {
negate_patterns = {}, -- negate ignore files matching these.
},
--- @class AvanteFileSelectorConfig
--- @field provider "native" | "fzf" | "telescope"
file_selector = {
--- @alias FileSelectorProvider "native" | "fzf" | "telescope" | string
provider = "native",
-- Options override for custom providers
provider_opts = {},

View File

@ -116,6 +116,14 @@ cmd("SwitchProvider", function(opts) require("avante.api").switch_provider(vim.t
return vim.tbl_filter(function(key) return key:find(prefix, 1, true) == 1 end, Config.providers)
end,
})
cmd(
"SwitchFileSelectorProvider",
function(opts) require("avante.api").switch_file_selector_provider(vim.trim(opts.args or "")) end,
{
nargs = 1,
desc = "avante: switch file selector provider",
}
)
cmd("Clear", function(opts)
local arg = vim.trim(opts.args or "")
arg = arg == "" and "history" or arg