aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_meta/vimfn.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-10-07 05:32:49 -0700
committerGitHub <noreply@github.com>2024-10-07 05:32:49 -0700
commit7335988ce6a5f41a8405462c6c4c90a54d3e588c (patch)
tree55a0a7252727debfaba3c80342df7189d96a8a96 /runtime/lua/vim/_meta/vimfn.lua
parent2377443cd27ac41429d77fc6ba41e21469ed3b5b (diff)
downloadrneovim-7335988ce6a5f41a8405462c6c4c90a54d3e588c.tar.gz
rneovim-7335988ce6a5f41a8405462c6c4c90a54d3e588c.tar.bz2
rneovim-7335988ce6a5f41a8405462c6c4c90a54d3e588c.zip
docs: generate params/returns in builtin.txt #30654
Diffstat (limited to 'runtime/lua/vim/_meta/vimfn.lua')
-rw-r--r--runtime/lua/vim/_meta/vimfn.lua689
1 files changed, 351 insertions, 338 deletions
diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua
index 3eb2f2382d..80ac773028 100644
--- a/runtime/lua/vim/_meta/vimfn.lua
+++ b/runtime/lua/vim/_meta/vimfn.lua
@@ -47,7 +47,7 @@ function vim.fn.acos(expr) end
---
--- @param object any
--- @param expr any
---- @return any
+--- @return any # Resulting |List| or |Blob|, or 1 if {object} is not a |List| or a |Blob|.
function vim.fn.add(object, expr) end
--- Bitwise AND on the two arguments. The arguments are converted
@@ -110,7 +110,7 @@ function vim.fn.append(lnum, text) end
--- <However, when {text} is an empty list then no error is given
--- for an invalid {lnum}, since {lnum} isn't actually used.
---
---- @param buf any
+--- @param buf integer|string
--- @param lnum integer
--- @param text string
--- @return 0|1
@@ -195,7 +195,7 @@ function vim.fn.asin(expr) end
--- Also see |assert_fails()|, |assert_nobeep()| and
--- |assert-return|.
---
---- @param cmd any
+--- @param cmd string
--- @return 0|1
function vim.fn.assert_beeps(cmd) end
@@ -227,8 +227,10 @@ function vim.fn.assert_equal(expected, actual, msg) end
--- When {fname-one} or {fname-two} does not exist the error will
--- mention that.
---
+--- @param fname-one string
+--- @param fname-two string
--- @return 0|1
-function vim.fn.assert_equalfile() end
+function vim.fn.assert_equalfile(fname-one, fname-two) end
--- When v:exception does not contain the string {error} an error
--- message is added to |v:errors|. Also see |assert-return|.
@@ -281,7 +283,7 @@ function vim.fn.assert_exception(error, msg) end
--- Note that beeping is not considered an error, and some failing
--- commands only beep. Use |assert_beeps()| for those.
---
---- @param cmd any
+--- @param cmd string
--- @param error? any
--- @param msg? any
--- @param lnum? integer
@@ -311,10 +313,10 @@ function vim.fn.assert_false(actual, msg) end
--- but got {actual}". When {msg} is present it is prefixed to
--- that.
---
---- @param lower any
---- @param upper any
---- @param actual any
---- @param msg? any
+--- @param lower number
+--- @param upper number
+--- @param actual number
+--- @param msg? string
--- @return 0|1
function vim.fn.assert_inrange(lower, upper, actual, msg) end
@@ -337,9 +339,9 @@ function vim.fn.assert_inrange(lower, upper, actual, msg) end
--- <Will result in a string to be added to |v:errors|:
--- test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~
---
---- @param pattern any
---- @param actual any
---- @param msg? any
+--- @param pattern string
+--- @param actual string
+--- @param msg? string
--- @return 0|1
function vim.fn.assert_match(pattern, actual, msg) end
@@ -347,7 +349,7 @@ function vim.fn.assert_match(pattern, actual, msg) end
--- produces a beep or visual bell.
--- Also see |assert_beeps()|.
---
---- @param cmd any
+--- @param cmd string
--- @return 0|1
function vim.fn.assert_nobeep(cmd) end
@@ -365,16 +367,16 @@ function vim.fn.assert_notequal(expected, actual, msg) end
--- |v:errors| when {pattern} matches {actual}.
--- Also see |assert-return|.
---
---- @param pattern any
---- @param actual any
---- @param msg? any
+--- @param pattern string
+--- @param actual string
+--- @param msg? string
--- @return 0|1
function vim.fn.assert_notmatch(pattern, actual, msg) end
--- Report a test failure directly, using String {msg}.
--- Always returns one.
---
---- @param msg any
+--- @param msg string
--- @return 0|1
function vim.fn.assert_report(msg) end
@@ -387,7 +389,7 @@ function vim.fn.assert_report(msg) end
--- along with the location of the assert when run from a script.
---
--- @param actual any
---- @param msg? any
+--- @param msg? string
--- @return 0|1
function vim.fn.assert_true(actual, msg) end
@@ -401,7 +403,7 @@ function vim.fn.assert_true(actual, msg) end
--- echo atan(-4.01)
--- < -1.326405
---
---- @param expr any
+--- @param expr number
--- @return number
function vim.fn.atan(expr) end
@@ -416,8 +418,8 @@ function vim.fn.atan(expr) end
--- echo atan2(1, -1)
--- < 2.356194
---
---- @param expr1 any
---- @param expr2 any
+--- @param expr1 number
+--- @param expr2 number
--- @return number
function vim.fn.atan2(expr1, expr2) end
@@ -443,9 +445,9 @@ function vim.fn.blob2list(blob) end
--- something went wrong, or browsing is not possible.
---
--- @param save any
---- @param title any
---- @param initdir any
---- @param default any
+--- @param title string
+--- @param initdir string
+--- @param default string
--- @return 0|1
function vim.fn.browse(save, title, initdir, default) end
@@ -460,8 +462,8 @@ function vim.fn.browse(save, title, initdir, default) end
--- When the "Cancel" button is hit, something went wrong, or
--- browsing is not possible, an empty string is returned.
---
---- @param title any
---- @param initdir any
+--- @param title string
+--- @param initdir string
--- @return 0|1
function vim.fn.browsedir(title, initdir) end
@@ -733,7 +735,7 @@ function vim.fn.call(func, arglist, dict) end
---
--- Returns 0.0 if {expr} is not a |Float| or a |Number|.
---
---- @param expr any
+--- @param expr number
--- @return number
function vim.fn.ceil(expr) end
@@ -746,8 +748,8 @@ function vim.fn.ceil(expr) end
--- For a socket, there is only one stream, and {stream} should be
--- omitted.
---
---- @param id any
---- @param stream? any
+--- @param id integer
+--- @param stream? string
--- @return 0|1
function vim.fn.chanclose(id, stream) end
@@ -779,8 +781,8 @@ function vim.fn.changenr() end
--- was created with `"rpc":v:true` then the channel expects RPC
--- messages, use |rpcnotify()| and |rpcrequest()| instead.
---
---- @param id any
---- @param data any
+--- @param id number
+--- @param data string|string[]
--- @return 0|1
function vim.fn.chansend(id, data) end
@@ -824,8 +826,9 @@ function vim.fn.charclass(string) end
--- With the cursor on '세' in line 5 with text "여보세요": >vim
--- echo charcol('.') " returns 3
--- echo col('.') " returns 7
+--- <
---
---- @param expr any
+--- @param expr string|integer[]
--- @param winid? integer
--- @return integer
function vim.fn.charcol(expr, winid) end
@@ -865,8 +868,8 @@ function vim.fn.charcol(expr, winid) end
---
--- @param string string
--- @param idx integer
---- @param countcc? any
---- @param utf16? any
+--- @param countcc? boolean
+--- @param utf16? boolean
--- @return integer
function vim.fn.charidx(string, idx, countcc, utf16) end
@@ -890,6 +893,7 @@ function vim.fn.charidx(string, idx, countcc, utf16) end
--- " ... do some work
--- call chdir(save_dir)
--- endif
+--- <
---
--- @param dir string
--- @return string
@@ -911,7 +915,7 @@ function vim.fn.cindent(lnum) end
--- If {win} is specified, use the window with this number or
--- window ID instead of the current window.
---
---- @param win? any
+--- @param win? integer
function vim.fn.clearmatches(win) end
--- The result is a Number, which is the byte index of the column
@@ -950,8 +954,9 @@ function vim.fn.clearmatches(win) end
--- line. Also, when using a <Cmd> mapping the cursor isn't
--- moved, this can be used to obtain the column in Insert mode: >vim
--- imap <F2> <Cmd>echo col(".").."\n"<CR>
+--- <
---
---- @param expr any
+--- @param expr string|integer[]
--- @param winid? integer
--- @return integer
function vim.fn.col(expr, winid) end
@@ -985,8 +990,8 @@ function vim.fn.col(expr, winid) end
--- <This isn't very useful, but it shows how it works. Note that
--- an empty string is returned to avoid a zero being inserted.
---
---- @param startcol any
---- @param matches any
+--- @param startcol integer
+--- @param matches any[]
function vim.fn.complete(startcol, matches) end
--- Add {expr} to the list of matches. Only to be used by the
@@ -1069,8 +1074,9 @@ function vim.fn.complete_check() end
--- call complete_info(['mode'])
--- " Get only 'mode' and 'pum_visible'
--- call complete_info(['mode', 'pum_visible'])
+--- <
---
---- @param what? any
+--- @param what? any[]
--- @return table
function vim.fn.complete_info(what) end
@@ -1125,10 +1131,10 @@ function vim.fn.complete_info(what) end
--- don't fit, a vertical layout is used anyway. For some systems
--- the horizontal layout is always used.
---
---- @param msg any
---- @param choices? any
---- @param default? any
---- @param type? any
+--- @param msg string
+--- @param choices? string
+--- @param default? integer
+--- @param type? string
--- @return integer
function vim.fn.confirm(msg, choices, default, type) end
@@ -1154,7 +1160,7 @@ function vim.fn.copy(expr) end
--- echo cos(-4.01)
--- < -0.646043
---
---- @param expr any
+--- @param expr number
--- @return number
function vim.fn.cos(expr) end
@@ -1168,7 +1174,7 @@ function vim.fn.cos(expr) end
--- echo cosh(-0.5)
--- < -1.127626
---
---- @param expr any
+--- @param expr number
--- @return number
function vim.fn.cosh(expr) end
@@ -1184,10 +1190,10 @@ function vim.fn.cosh(expr) end
--- occurrences of {expr} is returned. Zero is returned when
--- {expr} is an empty string.
---
---- @param comp any
+--- @param comp string|table|any[]
--- @param expr any
---- @param ic? any
---- @param start? any
+--- @param ic? boolean
+--- @param start? integer
--- @return integer
function vim.fn.count(comp, expr, ic, start) end
@@ -1195,7 +1201,7 @@ function vim.fn.count(comp, expr, ic, start) end
--- from the top of the |context-stack| (see |context-dict|).
--- If {index} is not given, it is assumed to be 0 (i.e.: top).
---
---- @param index? any
+--- @param index? integer
--- @return table
function vim.fn.ctxget(index) end
@@ -1211,7 +1217,7 @@ function vim.fn.ctxpop() end
--- which |context-types| to include in the pushed context.
--- Otherwise, all context types are included.
---
---- @param types? any
+--- @param types? string[]
--- @return any
function vim.fn.ctxpush(types) end
@@ -1220,8 +1226,8 @@ function vim.fn.ctxpush(types) end
--- {context} is a Dictionary with context data (|context-dict|).
--- If {index} is not given, it is assumed to be 0 (i.e.: top).
---
---- @param context any
---- @param index? any
+--- @param context table
+--- @param index? integer
--- @return any
function vim.fn.ctxset(context, index) end
@@ -1232,7 +1238,7 @@ function vim.fn.ctxsize() end
--- @param lnum integer
--- @param col? integer
---- @param off? any
+--- @param off? integer
--- @return any
function vim.fn.cursor(lnum, col, off) end
@@ -1267,7 +1273,7 @@ function vim.fn.cursor(lnum, col, off) end
--- position within a <Tab> or after the last character.
--- Returns 0 when the position could be set, -1 otherwise.
---
---- @param list any
+--- @param list integer[]
--- @return any
function vim.fn.cursor(list) end
@@ -1279,7 +1285,7 @@ function vim.fn.cursor(list) end
--- Returns |TRUE| if successfully interrupted the program.
--- Otherwise returns |FALSE|.
---
---- @param pid any
+--- @param pid integer
--- @return any
function vim.fn.debugbreak(pid) end
@@ -1303,7 +1309,7 @@ function vim.fn.debugbreak(pid) end
--- Also see |copy()|.
---
--- @param expr any
---- @param noref? any
+--- @param noref? boolean
--- @return any
function vim.fn.deepcopy(expr, noref) end
@@ -1343,9 +1349,9 @@ function vim.fn.delete(fname, flags) end
--- when using |line()| this refers to the current buffer. Use "$"
--- to refer to the last line in buffer {buf}.
---
---- @param buf any
---- @param first any
---- @param last? any
+--- @param buf integer|string
+--- @param first integer|string
+--- @param last? integer|string
--- @return any
function vim.fn.deletebufline(buf, first, last) end
@@ -1388,9 +1394,9 @@ function vim.fn.deletebufline(buf, first, last) end
--- This function can be used by plugins to implement options with
--- validation and parsing logic.
---
---- @param dict any
---- @param pattern any
---- @param callback any
+--- @param dict table
+--- @param pattern string
+--- @param callback function
--- @return any
function vim.fn.dictwatcheradd(dict, pattern, callback) end
@@ -1399,8 +1405,8 @@ function vim.fn.dictwatcheradd(dict, pattern, callback) end
--- order for the watcher to be successfully deleted.
---
--- @param dict any
---- @param pattern any
---- @param callback any
+--- @param pattern string
+--- @param callback function
--- @return any
function vim.fn.dictwatcherdel(dict, pattern, callback) end
@@ -1461,7 +1467,7 @@ function vim.fn.diff_hlID(lnum, col) end
--- echo digraph_get('aa') " Returns 'あ'
--- <
---
---- @param chars any
+--- @param chars string
--- @return any
function vim.fn.digraph_get(chars) end
@@ -1479,7 +1485,7 @@ function vim.fn.digraph_get(chars) end
--- echo digraph_getlist(1)
--- <
---
---- @param listall? any
+--- @param listall? boolean
--- @return any
function vim.fn.digraph_getlist(listall) end
@@ -1499,12 +1505,9 @@ function vim.fn.digraph_getlist(listall) end
--- Example: >vim
--- call digraph_set(' ', 'あ')
--- <
---- Can be used as a |method|: >vim
---- GetString()->digraph_set('あ')
---- <
---
---- @param chars any
---- @param digraph any
+--- @param chars string
+--- @param digraph string
--- @return any
function vim.fn.digraph_set(chars, digraph) end
@@ -1522,11 +1525,7 @@ function vim.fn.digraph_set(chars, digraph) end
--- <Except that the function returns after the first error,
--- following digraphs will not be added.
---
---- Can be used as a |method|: >vim
---- GetList()->digraph_setlist()
---- <
----
---- @param digraphlist any
+--- @param digraphlist table<integer,string[]>
--- @return any
function vim.fn.digraph_setlist(digraphlist) end
@@ -1561,7 +1560,7 @@ function vim.fn.environ() end
--- <Also see |shellescape()| and |fnameescape()|.
---
--- @param string string
---- @param chars any
+--- @param chars string
--- @return any
function vim.fn.escape(string, chars) end
@@ -1611,7 +1610,7 @@ function vim.fn.eventhandler() end
--- 0 does not exist
--- |exepath()| can be used to get the full path of an executable.
---
---- @param expr any
+--- @param expr string
--- @return 0|1
function vim.fn.executable(expr) end
@@ -1652,7 +1651,7 @@ function vim.fn.execute(command, silent) end
--- Returns empty string otherwise.
--- If {expr} starts with "./" the |current-directory| is used.
---
---- @param expr any
+--- @param expr string
--- @return string
function vim.fn.exepath(expr) end
@@ -1744,7 +1743,7 @@ function vim.fn.exepath(expr) end
--- <This doesn't check for existence of the "bufcount" variable,
--- but gets the value of "bufcount", and checks if that exists.
---
---- @param expr any
+--- @param expr string
--- @return 0|1
function vim.fn.exists(expr) end
@@ -1758,7 +1757,7 @@ function vim.fn.exists(expr) end
--- echo exp(-1)
--- < 0.367879
---
---- @param expr any
+--- @param expr number
--- @return any
function vim.fn.exp(expr) end
@@ -1927,9 +1926,9 @@ function vim.fn.expandcmd(string, options) end
--- fails.
--- Returns {expr1}. Returns 0 on error.
---
---- @param expr1 any
---- @param expr2 any
---- @param expr3? any
+--- @param expr1 table
+--- @param expr2 table
+--- @param expr3? table
--- @return any
function vim.fn.extend(expr1, expr2, expr3) end
@@ -1937,9 +1936,9 @@ function vim.fn.extend(expr1, expr2, expr3) end
--- List or Dictionary is created and returned. {expr1} remains
--- unchanged.
---
---- @param expr1 any
---- @param expr2 any
---- @param expr3? any
+--- @param expr1 table
+--- @param expr2 table
+--- @param expr3? table
--- @return any
function vim.fn.extendnew(expr1, expr2, expr3) end
@@ -2094,8 +2093,8 @@ function vim.fn.filewritable(file) end
--- When {expr2} is a Funcref errors inside a function are ignored,
--- unless it was defined with the "abort" flag.
---
---- @param expr1 any
---- @param expr2 any
+--- @param expr1 string|table
+--- @param expr2 string|function
--- @return any
function vim.fn.filter(expr1, expr2) end
@@ -2118,7 +2117,7 @@ function vim.fn.filter(expr1, expr2) end
---
--- @param name string
--- @param path? string
---- @param count? any
+--- @param count? integer
--- @return any
function vim.fn.finddir(name, path, count) end
@@ -2153,15 +2152,15 @@ function vim.fn.findfile(name, path, count) end
--- echo flatten([1, [2, [3, 4]], 5], 1)
--- < [1, 2, [3, 4], 5]
---
---- @param list any
---- @param maxdepth? any
+--- @param list any[]
+--- @param maxdepth? integer
--- @return any[]|0
function vim.fn.flatten(list, maxdepth) end
--- Like |flatten()| but first make a copy of {list}.
---
---- @param list any
---- @param maxdepth? any
+--- @param list any[]
+--- @param maxdepth? integer
--- @return any[]|0
function vim.fn.flattennew(list, maxdepth) end
@@ -2186,7 +2185,7 @@ function vim.fn.flattennew(list, maxdepth) end
--- echo float2nr(1.0e-100)
--- < 0
---
---- @param expr any
+--- @param expr number
--- @return any
function vim.fn.float2nr(expr) end
@@ -2202,7 +2201,7 @@ function vim.fn.float2nr(expr) end
--- echo floor(4.0)
--- < 4.0
---
---- @param expr any
+--- @param expr number
--- @return any
function vim.fn.floor(expr) end
@@ -2221,8 +2220,8 @@ function vim.fn.floor(expr) end
--- echo fmod(-12.33, 1.22)
--- < -0.13
---
---- @param expr1 any
---- @param expr2 any
+--- @param expr1 number
+--- @param expr2 number
--- @return any
function vim.fn.fmod(expr1, expr2) end
@@ -2367,8 +2366,8 @@ function vim.fn.foldtextresult(lnum) end
--- When {expr2} is a Funcref errors inside a function are ignored,
--- unless it was defined with the "abort" flag.
---
---- @param expr1 any
---- @param expr2 any
+--- @param expr1 string|table
+--- @param expr2 string|function
--- @return any
function vim.fn.foreach(expr1, expr2) end
@@ -2510,7 +2509,7 @@ vim.fn['function'] = function(name, arglist, dict) end
--- it's safe to perform. This is when waiting for the user to
--- type a character.
---
---- @param atexit? any
+--- @param atexit? boolean
--- @return any
function vim.fn.garbagecollect(atexit) end
@@ -2671,8 +2670,9 @@ function vim.fn.getbufinfo(dict) end
---
--- Example: >vim
--- let lines = getbufline(bufnr("myfile"), 1, "$")
+--- <
---
---- @param buf any
+--- @param buf integer|string
--- @param lnum integer
--- @param end_? integer
--- @return any
@@ -2706,7 +2706,7 @@ function vim.fn.getbufoneline(buf, lnum) end
--- let bufmodified = getbufvar(1, "&mod")
--- echo "todo myvar = " .. getbufvar("todo", "myvar")
---
---- @param buf any
+--- @param buf integer|string
--- @param varname string
--- @param def? any
--- @return any
@@ -2838,7 +2838,7 @@ function vim.fn.getcharmod() end
--- getpos('.') returns [0, 5, 7, 0]
--- <
---
---- @param expr any
+--- @param expr string
--- @return integer[]
function vim.fn.getcharpos(expr) end
@@ -3029,9 +3029,9 @@ function vim.fn.getcmdwintype() end
--- If there are no matches, an empty list is returned. An
--- invalid value for {type} produces an error.
---
---- @param pat any
---- @param type any
---- @param filtered? any
+--- @param pat string
+--- @param type string
+--- @param filtered? boolean
--- @return string[]
function vim.fn.getcompletion(pat, type, filtered) end
@@ -3277,7 +3277,7 @@ function vim.fn.getline(lnum, end_) end
--- <
---
--- @param nr integer
---- @param what? any
+--- @param what? table
--- @return any
function vim.fn.getloclist(nr, what) end
@@ -3334,7 +3334,7 @@ function vim.fn.getmarklist(buf) end
--- unlet m
--- <
---
---- @param win? any
+--- @param win? integer
--- @return any
function vim.fn.getmatches(win) end
@@ -3542,7 +3542,7 @@ function vim.fn.getpos(expr) end
--- echo getqflist({'lines' : ["F1:10:L10"]})
--- <
---
---- @param what? any
+--- @param what? table
--- @return any
function vim.fn.getqflist(what) end
@@ -3857,7 +3857,7 @@ function vim.fn.gettagstack(winnr) end
--- xgettext does not understand escaping in single quoted
--- strings.
---
---- @param text any
+--- @param text string
--- @return any
function vim.fn.gettext(text) end
@@ -3984,10 +3984,10 @@ function vim.fn.getwinvar(winnr, varname, def) end
--- See |expand()| for expanding special Vim variables. See
--- |system()| for getting the raw output of an external command.
---
---- @param expr any
+--- @param expr string
--- @param nosuf? boolean
---- @param list? any
---- @param alllinks? any
+--- @param list? boolean
+--- @param alllinks? boolean
--- @return any
function vim.fn.glob(expr, nosuf, list, alllinks) end
@@ -4045,10 +4045,10 @@ function vim.fn.glob2regpat(string) end
--- supported, thus using 'path' will not always work properly.
---
--- @param path string
---- @param expr any
+--- @param expr string
--- @param nosuf? boolean
---- @param list? any
---- @param allinks? any
+--- @param list? boolean
+--- @param allinks? boolean
--- @return any
function vim.fn.globpath(path, expr, nosuf, list, allinks) end
@@ -4119,7 +4119,7 @@ function vim.fn.globpath(path, expr, nosuf, list, allinks) end
--- endif
--- <
---
---- @param feature any
+--- @param feature string
--- @return 0|1
function vim.fn.has(feature) end
@@ -4127,8 +4127,8 @@ function vim.fn.has(feature) end
--- has an entry with key {key}. FALSE otherwise. The {key}
--- argument is a string.
---
---- @param dict any
---- @param key any
+--- @param dict table
+--- @param key string
--- @return 0|1
function vim.fn.has_key(dict, key) end
@@ -4185,7 +4185,7 @@ function vim.fn.haslocaldir(winnr, tabnr) end
---
--- @param what any
--- @param mode? string
---- @param abbr? any
+--- @param abbr? boolean
--- @return 0|1
function vim.fn.hasmapto(what, mode, abbr) end
@@ -4223,7 +4223,7 @@ function vim.fn.highlight_exists(name) end
--- let date=input("Enter date: ")
--- <This function is not available in the |sandbox|.
---
---- @param history any
+--- @param history string
--- @param item any
--- @return 0|1
function vim.fn.histadd(history, item) end
@@ -4260,7 +4260,7 @@ function vim.fn.histadd(history, item) end
--- let \@/ = histget("search", -1)
--- <
---
---- @param history any
+--- @param history string
--- @param item? any
--- @return 0|1
function vim.fn.histdel(history, item) end
@@ -4280,8 +4280,8 @@ function vim.fn.histdel(history, item) end
--- command -nargs=1 H execute histget("cmd", 0+<args>)
--- <
---
---- @param history any
---- @param index? any
+--- @param history string
+--- @param index? integer|string
--- @return string
function vim.fn.histget(history, index) end
@@ -4291,8 +4291,9 @@ function vim.fn.histget(history, index) end
---
--- Example: >vim
--- let inp_index = histnr("expr")
+--- <
---
---- @param history any
+--- @param history string
--- @return integer
function vim.fn.histnr(history) end
@@ -4338,8 +4339,8 @@ function vim.fn.hostname() end
--- cannot use UCS-2 in a string anyway, because of the NUL bytes.
---
--- @param string string
---- @param from any
---- @param to any
+--- @param from string
+--- @param to string
--- @return any
function vim.fn.iconv(string, from, to) end
@@ -4398,11 +4399,12 @@ function vim.fn.indent(lnum) end
--- if index(numbers, 123) >= 0
--- " ...
--- endif
+--- <
---
--- @param object any
--- @param expr any
---- @param start? any
---- @param ic? any
+--- @param start? integer
+--- @param ic? boolean
--- @return any
function vim.fn.index(object, expr, start, ic) end
@@ -4442,6 +4444,7 @@ function vim.fn.index(object, expr, start, ic) end
--- echo indexof(l, "v:val.n == 20")
--- echo indexof(l, {i, v -> v.n == 30})
--- echo indexof(l, "v:val.n == 20", #{startidx: 1})
+--- <
---
--- @param object any
--- @param expr any
@@ -4450,9 +4453,9 @@ function vim.fn.index(object, expr, start, ic) end
function vim.fn.indexof(object, expr, opts) end
---
---- @param prompt any
---- @param text? any
---- @param completion? any
+--- @param prompt string
+--- @param text? string
+--- @param completion? string
--- @return any
function vim.fn.input(prompt, text, completion) end
@@ -4564,6 +4567,7 @@ function vim.fn.input(prompt, text, completion) end
--- let g:Foo = input("enter search pattern: ")
--- call inputrestore()
--- endfunction
+--- <
---
--- @param opts table
--- @return any
@@ -4592,7 +4596,7 @@ function vim.fn.inputdialog(...) end
--- let color = inputlist(['Select color:', '1. red',
--- \ '2. green', '3. blue'])
---
---- @param textlist any
+--- @param textlist string[]
--- @return any
function vim.fn.inputlist(textlist) end
@@ -4624,8 +4628,8 @@ function vim.fn.inputsave() end
--- typed on the command-line in response to the issued prompt.
--- NOTE: Command-line completion is not supported.
---
---- @param prompt any
---- @param text? any
+--- @param prompt string
+--- @param text? string
--- @return any
function vim.fn.inputsecret(prompt, text) end
@@ -4672,7 +4676,7 @@ function vim.fn.interrupt() end
--- let bits = invert(bits)
--- <
---
---- @param expr any
+--- @param expr number
--- @return any
function vim.fn.invert(expr) end
@@ -4690,7 +4694,7 @@ function vim.fn.invert(expr) end
--- echo isabsolutepath('\\remote\file') " 1
--- <
---
---- @param path any
+--- @param path string
--- @return 0|1
function vim.fn.isabsolutepath(path) end
@@ -4699,7 +4703,7 @@ function vim.fn.isabsolutepath(path) end
--- exist, or isn't a directory, the result is |FALSE|. {directory}
--- is any expression, which is used as a String.
---
---- @param directory any
+--- @param directory string
--- @return 0|1
function vim.fn.isdirectory(directory) end
@@ -4710,7 +4714,7 @@ function vim.fn.isdirectory(directory) end
--- echo isinf(-1.0 / 0.0)
--- < -1
---
---- @param expr any
+--- @param expr number
--- @return 1|0|-1
function vim.fn.isinf(expr) end
@@ -4735,7 +4739,7 @@ function vim.fn.islocked(expr) end
--- echo isnan(0.0 / 0.0)
--- < 1
---
---- @param expr any
+--- @param expr number
--- @return 0|1
function vim.fn.isnan(expr) end
@@ -4765,7 +4769,7 @@ function vim.fn.jobclose(...) end
--- Return the PID (process id) of |job-id| {job}.
---
---- @param job any
+--- @param job integer
--- @return integer
function vim.fn.jobpid(job) end
@@ -4773,7 +4777,7 @@ function vim.fn.jobpid(job) end
--- columns and {height} rows.
--- Fails if the job was not started with `"pty":v:true`.
---
---- @param job any
+--- @param job integer
--- @param width integer
--- @param height integer
--- @return any
@@ -4871,7 +4875,7 @@ function vim.fn.jobsend(...) end
--- - -1 if {cmd}[0] is not executable.
--- See also |job-control|, |channel|, |msgpack-rpc|.
---
---- @param cmd any
+--- @param cmd string|string[]
--- @param opts? table
--- @return any
function vim.fn.jobstart(cmd, opts) end
@@ -4885,7 +4889,7 @@ function vim.fn.jobstart(cmd, opts) end
--- Returns 1 for valid job id, 0 for invalid id, including jobs have
--- exited or stopped.
---
---- @param id any
+--- @param id integer
--- @return any
function vim.fn.jobstop(id) end
@@ -4909,7 +4913,7 @@ function vim.fn.jobstop(id) end
--- -2 if the job was interrupted (by |CTRL-C|)
--- -3 if the job-id is invalid
---
---- @param jobs any
+--- @param jobs integer[]
--- @param timeout? integer
--- @return any
function vim.fn.jobwait(jobs, timeout) end
@@ -4924,8 +4928,8 @@ function vim.fn.jobwait(jobs, timeout) end
--- converted into a string like with |string()|.
--- The opposite function is |split()|.
---
---- @param list any
---- @param sep? any
+--- @param list any[]
+--- @param sep? string
--- @return any
function vim.fn.join(list, sep) end
@@ -4965,7 +4969,7 @@ function vim.fn.json_encode(expr) end
--- Return a |List| with all the keys of {dict}. The |List| is in
--- arbitrary order. Also see |items()| and |values()|.
---
---- @param dict any
+--- @param dict table
--- @return any
function vim.fn.keys(dict) end
@@ -5079,7 +5083,7 @@ function vim.fn.libcallnr(libname, funcname, argument) end
--- To jump to the last known position when opening a file see
--- |last-position-jump|.
---
---- @param expr any
+--- @param expr string|integer[]
--- @param winid? integer
--- @return integer
function vim.fn.line(expr, winid) end
@@ -5119,7 +5123,7 @@ function vim.fn.lispindent(lnum) end
---
--- |blob2list()| does the opposite.
---
---- @param list any
+--- @param list any[]
--- @return any
function vim.fn.list2blob(list) end
@@ -5138,8 +5142,8 @@ function vim.fn.list2blob(list) end
--- <
--- Returns an empty string on error.
---
---- @param list any
---- @param utf8? any
+--- @param list any[]
+--- @param utf8? boolean
--- @return any
function vim.fn.list2str(list, utf8) end
@@ -5159,7 +5163,7 @@ function vim.fn.localtime() end
--- echo log(exp(5))
--- < 5.0
---
---- @param expr any
+--- @param expr number
--- @return any
function vim.fn.log(expr) end
@@ -5172,7 +5176,7 @@ function vim.fn.log(expr) end
--- echo log10(0.01)
--- < -2.0
---
---- @param expr any
+--- @param expr number
--- @return any
function vim.fn.log10(expr) end
@@ -5229,8 +5233,8 @@ function vim.fn.log10(expr) end
--- When {expr2} is a Funcref errors inside a function are ignored,
--- unless it was defined with the "abort" flag.
---
---- @param expr1 any
---- @param expr2 any
+--- @param expr1 string|table|any[]
+--- @param expr2 string|function
--- @return any
function vim.fn.map(expr1, expr2) end
@@ -5305,6 +5309,7 @@ function vim.fn.map(expr1, expr2) end
--- This function can be used to map a key even when it's already
--- mapped, and have it do the original mapping too. Sketch: >vim
--- exe 'nnoremap <Tab> ==' .. maparg('<Tab>', 'n')
+--- <
---
--- @param name string
--- @param mode? string
@@ -5354,7 +5359,7 @@ function vim.fn.maparg(name, mode, abbr, dict) end
---
--- @param name string
--- @param mode? string
---- @param abbr? any
+--- @param abbr? boolean
--- @return any
function vim.fn.mapcheck(name, mode, abbr) end
@@ -5387,6 +5392,7 @@ function vim.fn.mapcheck(name, mode, abbr) end
--- \ {_, m -> m.lhs == 'xyzzy'})[0].mode_bits
--- ounmap xyzzy
--- echo printf("Operator-pending mode bit: 0x%x", op_bit)
+--- <
---
--- @param abbr? 0|1
--- @return table[]
@@ -5403,8 +5409,8 @@ function vim.fn.maplist(abbr) end
function vim.fn.mapnew(expr1, expr2) end
--- @param mode string
---- @param abbr? any
---- @param dict? any
+--- @param abbr? boolean
+--- @param dict? boolean
--- @return any
function vim.fn.mapset(mode, abbr, dict) end
@@ -5442,8 +5448,9 @@ function vim.fn.mapset(mode, abbr, dict) end
--- for d in save_maps
--- call mapset(d)
--- endfor
+--- <
---
---- @param dict any
+--- @param dict boolean
--- @return any
function vim.fn.mapset(dict) end
@@ -5509,10 +5516,10 @@ function vim.fn.mapset(dict) end
--- zero matches at the start instead of a number of matches
--- further down in the text.
---
---- @param expr any
---- @param pat any
---- @param start? any
---- @param count? any
+--- @param expr string|any[]
+--- @param pat string
+--- @param start? integer
+--- @param count? integer
--- @return any
function vim.fn.match(expr, pat, start, count) end
@@ -5573,11 +5580,11 @@ function vim.fn.match(expr, pat, start, count) end
--- available from |getmatches()|. All matches can be deleted in
--- one operation by |clearmatches()|.
---
---- @param group any
---- @param pattern any
---- @param priority? any
---- @param id? any
---- @param dict? any
+--- @param group integer|string
+--- @param pattern string
+--- @param priority? integer
+--- @param id? integer
+--- @param dict? string
--- @return any
function vim.fn.matchadd(group, pattern, priority, id, dict) end
@@ -5617,11 +5624,11 @@ function vim.fn.matchadd(group, pattern, priority, id, dict) end
--- <Matches added by |matchaddpos()| are returned by
--- |getmatches()|.
---
----