diff options
author | altermo <unknown> | 2024-01-14 12:10:31 +0100 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2024-01-14 14:06:35 +0000 |
commit | e5ff71fbbfea0431826a82a6de24656d93651ec3 (patch) | |
tree | 909596e0970f11ab34c108d864f0413de32c71a1 /scripts/gen_eval_files.lua | |
parent | a7df0415ab6ae9a89ca12c6765758bfd54fa69c9 (diff) | |
download | rneovim-e5ff71fbbfea0431826a82a6de24656d93651ec3.tar.gz rneovim-e5ff71fbbfea0431826a82a6de24656d93651ec3.tar.bz2 rneovim-e5ff71fbbfea0431826a82a6de24656d93651ec3.zip |
docs(builtin): overload functions with union return types
Diffstat (limited to 'scripts/gen_eval_files.lua')
-rwxr-xr-x | scripts/gen_eval_files.lua | 52 |
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 |