fix: hide internal properties of config (#1036)

This commit is contained in:
yetone 2025-01-05 18:27:23 +08:00 committed by GitHub
parent 9895ce7681
commit 48fc35f978
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 31 deletions

View File

@ -134,10 +134,10 @@ M.ask = function(opts)
submit_callback = function(input) ask(input) end,
close_on_submit = true,
win_opts = {
border = Config.options.windows.ask.border,
border = Config.windows.ask.border,
title = { { "ask", "FloatTitle" } },
},
start_insert = Config.options.windows.ask.start_insert,
start_insert = Config.windows.ask.start_insert,
})
prompt_input:open()
return true

View File

@ -6,7 +6,7 @@ local Utils = require("avante.utils")
---@class avante.CoreConfig: avante.Config
local M = {}
---@class avante.Config
M.defaults = {
M._defaults = {
debug = false,
---@alias Provider "claude" | "openai" | "azure" | "gemini" | "vertex" | "cohere" | "copilot" | string
provider = "claude", -- Only recommend using Claude
@ -247,7 +247,7 @@ M.defaults = {
}
---@type avante.Config
M.options = {}
M._options = {}
---@class avante.ConflictConfig: AvanteConflictConfig
---@field mappings AvanteConflictMappings
@ -261,9 +261,9 @@ M.providers = {}
function M.setup(opts)
vim.validate({ opts = { opts, "table", true } })
M.options = vim.tbl_deep_extend(
M._options = vim.tbl_deep_extend(
"force",
M.defaults,
M._defaults,
opts or {},
---@type avante.Config
{
@ -273,7 +273,7 @@ function M.setup(opts)
}
)
M.providers = vim
.iter(M.defaults)
.iter(M._defaults)
:filter(function(_, value) return type(value) == "table" and value.endpoint ~= nil end)
:fold({}, function(acc, k)
acc = vim.list_extend({}, acc)
@ -281,21 +281,21 @@ function M.setup(opts)
return acc
end)
vim.validate({ provider = { M.options.provider, "string", false } })
vim.validate({ provider = { M._options.provider, "string", false } })
M.diff = vim.tbl_deep_extend(
"force",
{},
M.options.diff,
{ mappings = M.options.mappings.diff, highlights = M.options.highlights.diff }
M._options.diff,
{ mappings = M._options.mappings.diff, highlights = M._options.highlights.diff }
)
if next(M.options.vendors) ~= nil then
for k, v in pairs(M.options.vendors) do
M.options.vendors[k] = type(v) == "function" and v() or v
if next(M._options.vendors) ~= nil then
for k, v in pairs(M._options.vendors) do
M._options.vendors[k] = type(v) == "function" and v() or v
end
vim.validate({ vendors = { M.options.vendors, "table", true } })
M.providers = vim.list_extend(M.providers, vim.tbl_keys(M.options.vendors))
vim.validate({ vendors = { M._options.vendors, "table", true } })
M.providers = vim.list_extend(M.providers, vim.tbl_keys(M._options.vendors))
end
end
@ -303,26 +303,26 @@ end
function M.override(opts)
vim.validate({ opts = { opts, "table", true } })
M.options = vim.tbl_deep_extend("force", M.options, opts or {})
M._options = vim.tbl_deep_extend("force", M._options, opts or {})
M.diff = vim.tbl_deep_extend(
"force",
{},
M.options.diff,
{ mappings = M.options.mappings.diff, highlights = M.options.highlights.diff }
M._options.diff,
{ mappings = M._options.mappings.diff, highlights = M._options.highlights.diff }
)
if next(M.options.vendors) ~= nil then
for k, v in pairs(M.options.vendors) do
M.options.vendors[k] = type(v) == "function" and v() or v
if next(M._options.vendors) ~= nil then
for k, v in pairs(M._options.vendors) do
M._options.vendors[k] = type(v) == "function" and v() or v
if not vim.tbl_contains(M.providers, k) then M.providers = vim.list_extend(M.providers, { k }) end
end
vim.validate({ vendors = { M.options.vendors, "table", true } })
vim.validate({ vendors = { M._options.vendors, "table", true } })
end
end
M = setmetatable(M, {
__index = function(_, k)
if M.options[k] then return M.options[k] end
if M._options[k] then return M._options[k] end
end,
})
@ -332,14 +332,14 @@ M.get_window_width = function() return math.ceil(vim.o.columns * (M.windows.widt
---@param provider Provider
---@return boolean
M.has_provider = function(provider) return M.options[provider] ~= nil or M.vendors[provider] ~= nil end
M.has_provider = function(provider) return M._options[provider] ~= nil or M.vendors[provider] ~= nil end
---get supported providers
---@param provider Provider
---@return AvanteProviderFunctor
M.get_provider = function(provider)
if M.options[provider] ~= nil then
return vim.deepcopy(M.options[provider], true)
if M._options[provider] ~= nil then
return vim.deepcopy(M._options[provider], true)
elseif M.vendors[provider] ~= nil then
return vim.deepcopy(M.vendors[provider], true)
else

View File

@ -183,7 +183,7 @@ M._stream = function(opts)
end
if not data then return end
vim.schedule(function()
if Config.options[Config.provider] == nil and Provider.parse_stream_data ~= nil then
if Config[Config.provider] == nil and Provider.parse_stream_data ~= nil then
if Provider.parse_response ~= nil then
Utils.warn(
"parse_stream_data and parse_response are mutually exclusive, and thus parse_response will be ignored. Make sure that you handle the incoming data correctly.",

View File

@ -669,9 +669,7 @@ function Sidebar:apply(current_cursor)
selected_snippets_map = all_snippets_map
end
if Config.options.behaviour.minimize_diff then
selected_snippets_map = self:minimize_snippets(selected_snippets_map)
end
if Config.behaviour.minimize_diff then selected_snippets_map = self:minimize_snippets(selected_snippets_map) end
vim.defer_fn(function()
api.nvim_set_current_win(self.code.winid)

View File

@ -331,7 +331,7 @@ function M.warn(msg, opts)
end
function M.debug(...)
if not require("avante.config").options.debug then return end
if not require("avante.config").debug then return end
local args = { ... }
if #args == 0 then return end