28 lines
692 B
Lua
28 lines
692 B
Lua
local Utils = require("avante.utils")
|
|
|
|
---@class avante.ApiToggle
|
|
---@operator call(): boolean
|
|
---@field debug ToggleBind.wrap
|
|
---@field hint ToggleBind.wrap
|
|
---
|
|
---@class avante.Api
|
|
---@field ask fun(): boolean
|
|
---@field edit fun(): nil
|
|
---@field refresh fun(): nil
|
|
---@field toggle avante.ApiToggle
|
|
|
|
return setmetatable({}, {
|
|
__index = function(t, k)
|
|
local module = require("avante")
|
|
---@class AvailableApi: ApiCaller
|
|
---@field api? boolean
|
|
local has = module[k]
|
|
if type(has) ~= "table" or not has.api then
|
|
Utils.warn(k .. " is not a valid avante's API method", { once = true })
|
|
return
|
|
end
|
|
t[k] = has
|
|
return t[k]
|
|
end,
|
|
}) --[[@as avante.Api]]
|