mirror of
https://github.com/neovim/neovim.git
synced 2025-09-20 02:08:17 +00:00
docs(autocmd): generate events enum type #34883
This commit is contained in:
@@ -322,12 +322,16 @@ local function get_api_keysets_meta()
|
||||
|
||||
--- @type {name: string, keys: string[], types: table<string,string>}[]
|
||||
local keysets = metadata.keysets
|
||||
local event_type = 'vim.api.keyset.events|vim.api.keyset.events[]'
|
||||
|
||||
for _, k in ipairs(keysets) do
|
||||
local params = {}
|
||||
for _, key in ipairs(k.keys) do
|
||||
local pty = k.types[key] or 'any'
|
||||
table.insert(params, { key .. '?', api_type(pty) })
|
||||
table.insert(params, {
|
||||
key .. '?',
|
||||
k.name:find('autocmd') and key == 'event' and event_type or api_type(pty),
|
||||
})
|
||||
end
|
||||
ret[k.name] = {
|
||||
signature = 'NA',
|
||||
@@ -346,6 +350,16 @@ end
|
||||
local function render_api_keyset_meta(_f, fun, write)
|
||||
if string.sub(fun.name, 1, 1) == '_' then
|
||||
return -- not exported
|
||||
elseif fun.name == 'create_autocmd' then
|
||||
local events = vim.deepcopy(require('nvim.auevents'))
|
||||
for event in pairs(events.aliases) do
|
||||
events.events[event] = true
|
||||
end
|
||||
write('')
|
||||
write('--- @alias vim.api.keyset.events')
|
||||
for event in vim.spairs(events.events) do
|
||||
write(("--- |'%s'"):format(event))
|
||||
end
|
||||
end
|
||||
write('')
|
||||
write('--- @class vim.api.keyset.' .. fun.name)
|
||||
|
Reference in New Issue
Block a user