diff options
author | Colin Kennedy <colinvfx@gmail.com> | 2024-12-11 01:01:14 -0800 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2024-12-13 17:05:38 +0000 |
commit | f9dd6826210335d8b37455002d767d1b37c09ce4 (patch) | |
tree | de202d9b1f6126c07cb0b8948eee52e2e0679987 /src/nvim/eval.lua | |
parent | 65b1733405e558e80527096a0ba42b5a678c9b54 (diff) | |
download | rneovim-f9dd6826210335d8b37455002d767d1b37c09ce4.tar.gz rneovim-f9dd6826210335d8b37455002d767d1b37c09ce4.tar.bz2 rneovim-f9dd6826210335d8b37455002d767d1b37c09ce4.zip |
docs(annotations): added `---@generic` support
Diffstat (limited to 'src/nvim/eval.lua')
-rw-r--r-- | src/nvim/eval.lua | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index cf80a26e1c..9de189cc16 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -17,6 +17,7 @@ --- @field deprecated? true --- @field returns? string|false --- @field returns_desc? string +--- @field generics? string[] Used to write `---@generic` annotations over a function. --- @field signature? string --- @field desc? string --- @field params [string, string, string][] @@ -1521,9 +1522,10 @@ M.funcs = { A |Dictionary| is copied in a similar way as a |List|. Also see |deepcopy()|. ]=], + generics = { 'T' }, name = 'copy', - params = { { 'expr', 'any' } }, - returns = 'any', + params = { { 'expr', 'T' } }, + returns = 'T', signature = 'copy({expr})', }, cos = { @@ -1739,8 +1741,10 @@ M.funcs = { Also see |copy()|. ]=], + generics = { 'T' }, name = 'deepcopy', - params = { { 'expr', 'any' }, { 'noref', 'boolean' } }, + params = { { 'expr', 'T' }, { 'noref', 'boolean' } }, + returns = 'T', signature = 'deepcopy({expr} [, {noref}])', }, delete = { @@ -5894,7 +5898,7 @@ M.funcs = { the index. ]=], name = 'items', - params = { { 'dict', 'any' } }, + params = { { 'dict', 'table' } }, signature = 'items({dict})', }, jobclose = { @@ -7309,6 +7313,7 @@ M.funcs = { ]=], name = 'max', params = { { 'expr', 'any' } }, + returns = 'number', signature = 'max({expr})', }, menu_get = { @@ -8520,7 +8525,13 @@ M.funcs = { < ]=], name = 'reduce', - params = { { 'object', 'any' }, { 'func', 'function' }, { 'initial', 'any' } }, + generics = { 'T' }, + params = { + { 'object', 'any' }, + { 'func', 'fun(accumulator: T, current: any): any' }, + { 'initial', 'any' }, + }, + returns = 'T', signature = 'reduce({object}, {func} [, {initial}])', }, reg_executing = { @@ -8785,7 +8796,9 @@ M.funcs = { < ]=], name = 'reverse', - params = { { 'object', 'any' } }, + generics = { 'T' }, + params = { { 'object', 'T[]' } }, + returns = 'T[]', signature = 'reverse({object})', }, round = { @@ -10924,7 +10937,9 @@ M.funcs = { < ]=], name = 'sort', - params = { { 'list', 'any' }, { 'how', 'string|function' }, { 'dict', 'any' } }, + generics = { 'T' }, + params = { { 'list', 'T[]' }, { 'how', 'string|function' }, { 'dict', 'any' } }, + returns = 'T[]', signature = 'sort({list} [, {how} [, {dict}]])', }, soundfold = { |