mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
docs(builtin): overload functions with union return types
This commit is contained in:
parent
a7df0415ab
commit
e5ff71fbbf
38
runtime/lua/vim/_meta/vimfn.lua
generated
38
runtime/lua/vim/_meta/vimfn.lua
generated
@ -1843,7 +1843,13 @@ function vim.fn.exp(expr) end
|
|||||||
---
|
---
|
||||||
--- @param string string
|
--- @param string string
|
||||||
--- @param nosuf? boolean
|
--- @param nosuf? boolean
|
||||||
--- @param list? any
|
--- @param list? nil|false
|
||||||
|
--- @return string
|
||||||
|
function vim.fn.expand(string, nosuf, list) end
|
||||||
|
|
||||||
|
--- @param string string
|
||||||
|
--- @param nosuf boolean
|
||||||
|
--- @param list true|number|string|table
|
||||||
--- @return string|string[]
|
--- @return string|string[]
|
||||||
function vim.fn.expand(string, nosuf, list) end
|
function vim.fn.expand(string, nosuf, list) end
|
||||||
|
|
||||||
@ -3138,7 +3144,12 @@ function vim.fn.getjumplist(winnr, tabnr) end
|
|||||||
--- |getbufoneline()|
|
--- |getbufoneline()|
|
||||||
---
|
---
|
||||||
--- @param lnum integer
|
--- @param lnum integer
|
||||||
--- @param end_? any
|
--- @param end_? nil|false
|
||||||
|
--- @return string
|
||||||
|
function vim.fn.getline(lnum, end_) end
|
||||||
|
|
||||||
|
--- @param lnum integer
|
||||||
|
--- @param end_ true|number|string|table
|
||||||
--- @return string|string[]
|
--- @return string|string[]
|
||||||
function vim.fn.getline(lnum, end_) end
|
function vim.fn.getline(lnum, end_) end
|
||||||
|
|
||||||
@ -3436,7 +3447,12 @@ function vim.fn.getqflist(what) end
|
|||||||
--- If {regname} is not specified, |v:register| is used.
|
--- If {regname} is not specified, |v:register| is used.
|
||||||
---
|
---
|
||||||
--- @param regname? string
|
--- @param regname? string
|
||||||
--- @param list? any
|
--- @param list? nil|false
|
||||||
|
--- @return string
|
||||||
|
function vim.fn.getreg(regname, list) end
|
||||||
|
|
||||||
|
--- @param regname string
|
||||||
|
--- @param list true|number|string|table
|
||||||
--- @return string|string[]
|
--- @return string|string[]
|
||||||
function vim.fn.getreg(regname, list) end
|
function vim.fn.getreg(regname, list) end
|
||||||
|
|
||||||
@ -5067,7 +5083,14 @@ function vim.fn.map(expr1, expr2) end
|
|||||||
--- @param name string
|
--- @param name string
|
||||||
--- @param mode? string
|
--- @param mode? string
|
||||||
--- @param abbr? boolean
|
--- @param abbr? boolean
|
||||||
--- @param dict? boolean
|
--- @param dict? false
|
||||||
|
--- @return string
|
||||||
|
function vim.fn.maparg(name, mode, abbr, dict) end
|
||||||
|
|
||||||
|
--- @param name string
|
||||||
|
--- @param mode string
|
||||||
|
--- @param abbr boolean
|
||||||
|
--- @param dict true
|
||||||
--- @return string|table<string,any>
|
--- @return string|table<string,any>
|
||||||
function vim.fn.maparg(name, mode, abbr, dict) end
|
function vim.fn.maparg(name, mode, abbr, dict) end
|
||||||
|
|
||||||
@ -9317,7 +9340,12 @@ function vim.fn.strwidth(string) end
|
|||||||
--- A line break is included as a newline character.
|
--- A line break is included as a newline character.
|
||||||
---
|
---
|
||||||
--- @param nr integer
|
--- @param nr integer
|
||||||
--- @param list? integer
|
--- @param list? nil
|
||||||
|
--- @return string
|
||||||
|
function vim.fn.submatch(nr, list) end
|
||||||
|
|
||||||
|
--- @param nr integer
|
||||||
|
--- @param list integer
|
||||||
--- @return string|string[]
|
--- @return string|string[]
|
||||||
function vim.fn.submatch(nr, list) end
|
function vim.fn.submatch(nr, list) end
|
||||||
|
|
||||||
|
@ -354,41 +354,35 @@ local function render_eval_meta(f, fun, write)
|
|||||||
|
|
||||||
local params = process_params(fun.params)
|
local params = process_params(fun.params)
|
||||||
|
|
||||||
if fun.signature then
|
write('')
|
||||||
write('')
|
if fun.deprecated then
|
||||||
if fun.deprecated then
|
write('--- @deprecated')
|
||||||
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
|
|
||||||
|
|
||||||
local req_args = type(fun.args) == 'table' and fun.args[1] or fun.args or 0
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
if fun.returns ~= false then
|
|
||||||
write('--- @return ' .. (fun.returns or 'any'))
|
|
||||||
end
|
|
||||||
|
|
||||||
write(render_fun_sig(funname, params))
|
|
||||||
|
|
||||||
return
|
|
||||||
end
|
end
|
||||||
|
|
||||||
print('no doc for', funname)
|
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
|
||||||
|
|
||||||
|
local req_args = type(fun.args) == 'table' and fun.args[1] or fun.args or 0
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
if fun.returns ~= false then
|
||||||
|
write('--- @return ' .. (fun.returns or 'any'))
|
||||||
|
end
|
||||||
|
|
||||||
|
write(render_fun_sig(funname, params))
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @type table<string,true>
|
--- @type table<string,true>
|
||||||
@ -398,6 +392,10 @@ local rendered_tags = {}
|
|||||||
--- @param fun vim.EvalFn
|
--- @param fun vim.EvalFn
|
||||||
--- @param write fun(line: string)
|
--- @param write fun(line: string)
|
||||||
local function render_sig_and_tag(name, fun, write)
|
local function render_sig_and_tag(name, fun, write)
|
||||||
|
if not fun.signature then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local tags = { '*' .. name .. '()*' }
|
local tags = { '*' .. name .. '()*' }
|
||||||
|
|
||||||
if fun.tags then
|
if fun.tags then
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
--- @field deprecated? true
|
--- @field deprecated? true
|
||||||
--- @field returns? string|false
|
--- @field returns? string|false
|
||||||
--- @field returns_desc? string
|
--- @field returns_desc? string
|
||||||
--- @field signature string
|
--- @field signature? string
|
||||||
--- @field desc? string
|
--- @field desc? string
|
||||||
--- @field params {[1]:string, [2]:string, [3]:string}[]
|
--- @field params {[1]:string, [2]:string, [3]:string}[]
|
||||||
--- @field lua? false Do not render type information
|
--- @field lua? false Do not render type information
|
||||||
@ -2348,9 +2348,20 @@ M.funcs = {
|
|||||||
|
|
||||||
]=],
|
]=],
|
||||||
name = 'expand',
|
name = 'expand',
|
||||||
params = { { 'string', 'string' }, { 'nosuf', 'boolean' }, { 'list', 'any' } },
|
params = { { 'string', 'string' }, { 'nosuf', 'boolean' }, { 'list', 'nil|false' } },
|
||||||
returns = 'string|string[]',
|
|
||||||
signature = 'expand({string} [, {nosuf} [, {list}]])',
|
signature = 'expand({string} [, {nosuf} [, {list}]])',
|
||||||
|
returns = 'string',
|
||||||
|
},
|
||||||
|
expand__1 = {
|
||||||
|
args = { 3 },
|
||||||
|
base = 1,
|
||||||
|
name = 'expand',
|
||||||
|
params = {
|
||||||
|
{ 'string', 'string' },
|
||||||
|
{ 'nosuf', 'boolean' },
|
||||||
|
{ 'list', 'true|number|string|table' },
|
||||||
|
},
|
||||||
|
returns = 'string|string[]',
|
||||||
},
|
},
|
||||||
expandcmd = {
|
expandcmd = {
|
||||||
args = { 1, 2 },
|
args = { 1, 2 },
|
||||||
@ -3918,9 +3929,16 @@ M.funcs = {
|
|||||||
|getbufoneline()|
|
|getbufoneline()|
|
||||||
]=],
|
]=],
|
||||||
name = 'getline',
|
name = 'getline',
|
||||||
params = { { 'lnum', 'integer' }, { 'end', 'any' } },
|
params = { { 'lnum', 'integer' }, { 'end', 'nil|false' } },
|
||||||
returns = 'string|string[]',
|
|
||||||
signature = 'getline({lnum} [, {end}])',
|
signature = 'getline({lnum} [, {end}])',
|
||||||
|
returns = 'string',
|
||||||
|
},
|
||||||
|
getline__1 = {
|
||||||
|
args = { 2 },
|
||||||
|
base = 1,
|
||||||
|
name = 'getline',
|
||||||
|
params = { { 'lnum', 'integer' }, { 'end', 'true|number|string|table' } },
|
||||||
|
returns = 'string|string[]',
|
||||||
},
|
},
|
||||||
getloclist = {
|
getloclist = {
|
||||||
args = { 1, 2 },
|
args = { 1, 2 },
|
||||||
@ -4249,9 +4267,16 @@ M.funcs = {
|
|||||||
|
|
||||||
]=],
|
]=],
|
||||||
name = 'getreg',
|
name = 'getreg',
|
||||||
params = { { 'regname', 'string' }, { 'list', 'any' } },
|
params = { { 'regname', 'string' }, { 'list', 'nil|false' } },
|
||||||
returns = 'string|string[]',
|
|
||||||
signature = 'getreg([{regname} [, 1 [, {list}]]])',
|
signature = 'getreg([{regname} [, 1 [, {list}]]])',
|
||||||
|
returns = 'string',
|
||||||
|
},
|
||||||
|
getreg__1 = {
|
||||||
|
args = { 3 },
|
||||||
|
base = 1,
|
||||||
|
name = 'getreg',
|
||||||
|
params = { { 'regname', 'string' }, { 'list', 'true|number|string|table' } },
|
||||||
|
returns = 'string|string[]',
|
||||||
},
|
},
|
||||||
getreginfo = {
|
getreginfo = {
|
||||||
args = { 0, 1 },
|
args = { 0, 1 },
|
||||||
@ -6218,10 +6243,22 @@ M.funcs = {
|
|||||||
{ 'name', 'string' },
|
{ 'name', 'string' },
|
||||||
{ 'mode', 'string' },
|
{ 'mode', 'string' },
|
||||||
{ 'abbr', 'boolean' },
|
{ 'abbr', 'boolean' },
|
||||||
{ 'dict', 'boolean' },
|
{ 'dict', 'false' },
|
||||||
|
},
|
||||||
|
signature = 'maparg({name} [, {mode} [, {abbr} [, {dict}]]])',
|
||||||
|
returns = 'string',
|
||||||
|
},
|
||||||
|
maparg__1 = {
|
||||||
|
args = { 4 },
|
||||||
|
base = 1,
|
||||||
|
name = 'maparg',
|
||||||
|
params = {
|
||||||
|
{ 'name', 'string' },
|
||||||
|
{ 'mode', 'string' },
|
||||||
|
{ 'abbr', 'boolean' },
|
||||||
|
{ 'dict', 'true' },
|
||||||
},
|
},
|
||||||
returns = 'string|table<string,any>',
|
returns = 'string|table<string,any>',
|
||||||
signature = 'maparg({name} [, {mode} [, {abbr} [, {dict}]]])',
|
|
||||||
},
|
},
|
||||||
mapcheck = {
|
mapcheck = {
|
||||||
args = { 1, 3 },
|
args = { 1, 3 },
|
||||||
@ -11120,9 +11157,16 @@ M.funcs = {
|
|||||||
|
|
||||||
]=],
|
]=],
|
||||||
name = 'submatch',
|
name = 'submatch',
|
||||||
|
params = { { 'nr', 'integer' }, { 'list', 'nil' } },
|
||||||
|
signature = 'submatch({nr} [, {list}])',
|
||||||
|
returns = 'string',
|
||||||
|
},
|
||||||
|
submatch__1 = {
|
||||||
|
args = { 2 },
|
||||||
|
base = 1,
|
||||||
|
name = 'submatch',
|
||||||
params = { { 'nr', 'integer' }, { 'list', 'integer' } },
|
params = { { 'nr', 'integer' }, { 'list', 'integer' } },
|
||||||
returns = 'string|string[]',
|
returns = 'string|string[]',
|
||||||
signature = 'submatch({nr} [, {list}])',
|
|
||||||
},
|
},
|
||||||
substitute = {
|
substitute = {
|
||||||
args = 4,
|
args = 4,
|
||||||
|
Loading…
Reference in New Issue
Block a user