From 4a36f234ace7aef8ff626e753eb7bab08754fc17 Mon Sep 17 00:00:00 2001 From: Sean Dewar <6256228+seandewar@users.noreply.github.com> Date: Mon, 31 Mar 2025 21:02:04 +0100 Subject: docs(eval): fix lnum type for functions using tv_get_lnum These occurrences also accept string, which is used like in getline. Also make the lnum field of vim.fn.sign_placelist.list.item optional, as it can be omitted like vim.fn.sign_place.dict's. --- runtime/doc/builtin.txt | 32 +++++++++++++-------------- runtime/lua/vim/_meta/builtin_types.lua | 4 ++-- runtime/lua/vim/_meta/vimfn.lua | 38 ++++++++++++++++----------------- src/nvim/eval.lua | 38 ++++++++++++++++----------------- 4 files changed, 56 insertions(+), 56 deletions(-) diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index 3ad5d83ac2..70f8264605 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -110,7 +110,7 @@ append({lnum}, {text}) *append()* < Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) • {text} (`string|string[]`) Return: ~ @@ -1047,7 +1047,7 @@ cindent({lnum}) *cindent()* To get or set indent of lines in a string, see |vim.text.indent()|. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -1637,7 +1637,7 @@ diff_filler({lnum}) *diff_filler()* Returns 0 if the current window is not in diff mode. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -1654,7 +1654,7 @@ diff_hlID({lnum}, {col}) *diff_hlID()* syntax information about the highlighting. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) • {col} (`integer`) Return: ~ @@ -2563,7 +2563,7 @@ foldclosed({lnum}) *foldclosed()* line, "'m" mark m, etc. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -2576,7 +2576,7 @@ foldclosedend({lnum}) *foldclosedend()* line, "'m" mark m, etc. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -2594,7 +2594,7 @@ foldlevel({lnum}) *foldlevel()* line, "'m" mark m, etc. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -2629,7 +2629,7 @@ foldtextresult({lnum}) *foldtextresult()* Useful when exporting folded text, e.g., to HTML. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`string`) @@ -5706,7 +5706,7 @@ line2byte({lnum}) *line2byte()* Also see |byte2line()|, |go| and |:goto|. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -5719,7 +5719,7 @@ lispindent({lnum}) *lispindent()* When {lnum} is invalid, -1 is returned. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -6993,7 +6993,7 @@ nextnonblank({lnum}) *nextnonblank()* See also |prevnonblank()|. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -7127,7 +7127,7 @@ prevnonblank({lnum}) *prevnonblank()* Also see |nextnonblank()|. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) Return: ~ (`integer`) @@ -8940,7 +8940,7 @@ setline({lnum}, {text}) *setline()* < Note: The '[ and '] marks are not set. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) • {text} (`any`) Return: ~ @@ -10854,7 +10854,7 @@ synID({lnum}, {col}, {trans}) *synID()* < Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) • {col} (`integer`) • {trans} (`0|1`) @@ -10959,7 +10959,7 @@ synconcealed({lnum}, {col}) *synconcealed()* mechanisms |syntax-vs-match|. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) • {col} (`integer`) Return: ~ @@ -10985,7 +10985,7 @@ synstack({lnum}, {col}) *synstack()* valid positions. Parameters: ~ - • {lnum} (`integer`) + • {lnum} (`integer|string`) • {col} (`integer`) Return: ~ diff --git a/runtime/lua/vim/_meta/builtin_types.lua b/runtime/lua/vim/_meta/builtin_types.lua index 9dd0374486..763153f38d 100644 --- a/runtime/lua/vim/_meta/builtin_types.lua +++ b/runtime/lua/vim/_meta/builtin_types.lua @@ -184,14 +184,14 @@ --- @field signs vim.fn.sign[] --- @class vim.fn.sign_place.dict ---- @field lnum? integer +--- @field lnum? integer|string --- @field priority? integer --- @class vim.fn.sign_placelist.list.item --- @field buffer integer|string --- @field group? string --- @field id? integer ---- @field lnum integer +--- @field lnum? integer|string --- @field name string --- @field priority? integer diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua index 813a89898e..2d87d203d9 100644 --- a/runtime/lua/vim/_meta/vimfn.lua +++ b/runtime/lua/vim/_meta/vimfn.lua @@ -85,7 +85,7 @@ function vim.fn.api_info() end --- let failed = append(0, ["Chapter 1", "the beginning"]) --- < --- ---- @param lnum integer +--- @param lnum integer|string --- @param text string|string[] --- @return 0|1 function vim.fn.append(lnum, text) end @@ -907,7 +907,7 @@ function vim.fn.chdir(dir) end --- --- To get or set indent of lines in a string, see |vim.text.indent()|. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.cindent(lnum) end @@ -1244,7 +1244,7 @@ function vim.fn.ctxset(context, index) end --- @return any function vim.fn.ctxsize() end ---- @param lnum integer +--- @param lnum integer|string --- @param col? integer --- @param off? integer --- @return any @@ -1441,7 +1441,7 @@ function vim.fn.did_filetype() end --- line, "'m" mark m, etc. --- Returns 0 if the current window is not in diff mode. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.diff_filler(lnum) end @@ -1455,7 +1455,7 @@ function vim.fn.diff_filler(lnum) end --- The highlight ID can be used with |synIDattr()| to obtain --- syntax information about the highlighting. --- ---- @param lnum integer +--- @param lnum integer|string --- @param col integer --- @return any function vim.fn.diff_hlID(lnum, col) end @@ -2282,7 +2282,7 @@ function vim.fn.fnamemodify(fname, mods) end --- {lnum} is used like with |getline()|. Thus "." is the current --- line, "'m" mark m, etc. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.foldclosed(lnum) end @@ -2292,7 +2292,7 @@ function vim.fn.foldclosed(lnum) end --- {lnum} is used like with |getline()|. Thus "." is the current --- line, "'m" mark m, etc. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.foldclosedend(lnum) end @@ -2307,7 +2307,7 @@ function vim.fn.foldclosedend(lnum) end --- {lnum} is used like with |getline()|. Thus "." is the current --- line, "'m" mark m, etc. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.foldlevel(lnum) end @@ -2338,7 +2338,7 @@ function vim.fn.foldtext() end --- line, "'m" mark m, etc. --- Useful when exporting folded text, e.g., to HTML. --- ---- @param lnum integer +--- @param lnum integer|string --- @return string function vim.fn.foldtextresult(lnum) end @@ -3284,7 +3284,7 @@ function vim.fn.getjumplist(winnr, tabnr) end --- @return string function vim.fn.getline(lnum, end_) end ---- @param lnum integer +--- @param lnum integer|string --- @param end_ true|number|string|table --- @return string|string[] function vim.fn.getline(lnum, end_) end @@ -5170,7 +5170,7 @@ function vim.fn.line(expr, winid) end --- |getline()|. When {lnum} is invalid -1 is returned. --- Also see |byte2line()|, |go| and |:goto|. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.line2byte(lnum) end @@ -5180,7 +5180,7 @@ function vim.fn.line2byte(lnum) end --- relevant. {lnum} is used just like in |getline()|. --- When {lnum} is invalid, -1 is returned. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.lispindent(lnum) end @@ -6355,7 +6355,7 @@ function vim.fn.msgpackparse(data) end --- {lnum} is used like with |getline()|. --- See also |prevnonblank()|. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.nextnonblank(lnum) end @@ -6454,7 +6454,7 @@ function vim.fn.pow(x, y) end --- {lnum} is used like with |getline()|. --- Also see |nextnonblank()|. --- ---- @param lnum integer +--- @param lnum integer|string --- @return integer function vim.fn.prevnonblank(lnum) end @@ -8063,7 +8063,7 @@ function vim.fn.setcmdline(str, pos) end --- @return any function vim.fn.setcmdpos(pos) end ---- @param lnum integer +--- @param lnum integer|string --- @param col? integer --- @param off? integer --- @return any @@ -8142,7 +8142,7 @@ function vim.fn.setfperm(fname, mode) end --- ---