aboutsummaryrefslogtreecommitdiff
path: root/scripts/gen_eval_files.lua
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gen_eval_files.lua')
-rwxr-xr-xscripts/gen_eval_files.lua52
1 files changed, 25 insertions, 27 deletions
diff --git a/scripts/gen_eval_files.lua b/scripts/gen_eval_files.lua
index e2ca62c2ee..c49f598304 100755
--- a/scripts/gen_eval_files.lua
+++ b/scripts/gen_eval_files.lua
@@ -354,41 +354,35 @@ local function render_eval_meta(f, fun, write)
local params = process_params(fun.params)
- if fun.signature then
- write('')
- if fun.deprecated then
- write('--- @deprecated')
- end
-
- local desc = fun.desc
-
- if desc then
- --- @type string
- desc = desc:gsub('\n%s*\n%s*$', '\n')
- for _, l in ipairs(split(desc)) do
- l = l:gsub('^ ', ''):gsub('\t', ' '):gsub('@', '\\@')
- write('--- ' .. l)
- end
- end
+ write('')
+ if fun.deprecated then
+ write('--- @deprecated')
+ end
- local req_args = type(fun.args) == 'table' and fun.args[1] or fun.args or 0
+ local desc = fun.desc
- for i, param in ipairs(params) do
- local pname, ptype = param[1], param[2]
- local optional = (pname ~= '...' and i > req_args) and '?' or ''
- write(string.format('--- @param %s%s %s', pname, optional, ptype))
+ if desc then
+ --- @type string
+ desc = desc:gsub('\n%s*\n%s*$', '\n')
+ for _, l in ipairs(split(desc)) do
+ l = l:gsub('^ ', ''):gsub('\t', ' '):gsub('@', '\\@')
+ write('--- ' .. l)
end
+ end
- if fun.returns ~= false then
- write('--- @return ' .. (fun.returns or 'any'))
- end
+ local req_args = type(fun.args) == 'table' and fun.args[1] or fun.args or 0
- write(render_fun_sig(funname, params))
+ for i, param in ipairs(params) do
+ local pname, ptype = param[1], param[2]
+ local optional = (pname ~= '...' and i > req_args) and '?' or ''
+ write(string.format('--- @param %s%s %s', pname, optional, ptype))
+ end
- return
+ if fun.returns ~= false then
+ write('--- @return ' .. (fun.returns or 'any'))
end
- print('no doc for', funname)
+ write(render_fun_sig(funname, params))
end
--- @type table<string,true>
@@ -398,6 +392,10 @@ local rendered_tags = {}
--- @param fun vim.EvalFn
--- @param write fun(line: string)
local function render_sig_and_tag(name, fun, write)
+ if not fun.signature then
+ return
+ end
+
local tags = { '*' .. name .. '()*' }
if fun.tags then