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]]
|