-- File containing table with all functions. -- -- Keys: -- --- @class vim.EvalFn --- @field args? integer|integer[] Number of arguments, list with maximum and minimum number of arguments --- or list with a minimum number of arguments only. Defaults to zero --- arguments. --- @field base? integer For methods: the argument to use as the base argument (1-indexed): --- base->method() --- Defaults to BASE_NONE (function cannot be used as a method). --- @field func? string Name of the C function which implements the Vimscript function. Defaults to --- `f_{funcname}`. --- @field fast? boolean Function can run in |api-fast| events. Defaults to false. --- @field deprecated? string[] --- @field returns? string|false -- Usable with the base key: use the last function argument as the method base. -- Value is from funcs.h file. "BASE_" prefix is omitted. -- local LAST = "BASE_LAST" (currently unused after port of v8.2.1168) local VIMBOOL = '0|1' return { --- @type table funcs={ abs={args=1, base=1}, acos={args=1, base=1, float_func="acos", returns='number'}, -- WJMc add={args=2, base=1}, ['and']={args=2, base=1}, api_info={fast=true}, append={args=2, base=2}, appendbufline={args=3, base=3}, argc={args={0, 1}, returns='integer'}, argidx={returns='integer'}, arglistid={args={0, 2}, returns='integer'}, argv={args={0, 2}}, asin={args=1, base=1, float_func="asin"}, -- WJMc assert_beeps={args=1, base=1, returns=VIMBOOL}, assert_equal={args={2, 3}, base=2, returns=VIMBOOL}, assert_equalfile={args={2, 3}, base=1}, assert_exception={args={1, 2}, returns=VIMBOOL}, assert_fails={args={1, 5}, base=1, returns=VIMBOOL}, assert_false={args={1, 2}, base=1, returns=VIMBOOL}, assert_inrange={args={3, 4}, base=3, returns=VIMBOOL}, assert_match={args={2, 3}, base=2, returns=VIMBOOL}, assert_nobeep={args=1, base=1, returns=VIMBOOL}, assert_notequal={args={2, 3}, base=2}, assert_notmatch={args={2, 3}, base=2}, assert_report={args=1, base=1}, assert_true={args={1, 2}, base=1}, atan={args=1, base=1, float_func="atan", returns='number'}, atan2={args=2, base=1, returns='number'}, blob2list={args=1, base=1}, browse={args=4}, browsedir={args=2}, bufadd={args=1, base=1, returns='integer'}, bufexists={args=1, base=1, returns=VIMBOOL}, buffer_exists={ args=1, base=1, func='f_bufexists', deprecated = { 'Obsolete name for |bufexists()|.' } }, buffer_name={ args={0, 1}, base=1, func='f_bufname', deprecated = { 'Obsolete name for |bufname()|.' } }, buffer_number={ args={0, 1}, base=1, func='f_bufnr', deprecated = { 'Obsolete name for |bufnr()|.' } }, buflisted={args=1, base=1, returns=VIMBOOL}, bufload={args=1, base=1, returns=false}, bufloaded={args=1, base=1, returns=VIMBOOL}, bufname={args={0, 1}, base=1, returns='string'}, bufnr={args={0, 2}, base=1, returns='integer'}, bufwinid={args=1, base=1, returns='integer'}, bufwinnr={args=1, base=1, returns='integer'}, byte2line={args=1, base=1, returns='integer'}, byteidx={args={2, 3}, base=1, fast=true, returns='integer'}, byteidxcomp={args={2, 3}, base=1, fast=true, returns='integer'}, call={args={2, 3}, base=1}, ceil={args=1, base=1, float_func="ceil"}, changenr={returns='integer'}, chanclose={args={1, 2}}, chansend={args=2}, char2nr={args={1, 2}, base=1, fast=true}, charclass={args=1, base=1}, charcol={args={1, 2}, base=1}, charidx={args={2, 4}, base=1}, chdir={args=1, base=1}, cindent={args=1, base=1}, clearmatches={args={0, 1}, base=1}, col={args={1, 2}, base=1, returns='integer'}, complete={args=2, base=2, returns=false}, complete_add={args=1, base=1, returns='0|1|2'}, complete_check={returns=VIMBOOL}, complete_info={args={0, 1}, base=1, returns='table'}, confirm={args={1, 4}, base=1}, copy={args=1, base=1}, cos={args=1, base=1, float_func="cos"}, cosh={args=1, base=1, float_func="cosh"}, count={args={2, 4}, base=1}, ctxget={args={0, 1}}, ctxpop={}, ctxpush={args={0, 1}}, ctxset={args={1, 2}}, ctxsize={}, cursor={args={1, 3}, base=1}, debugbreak={args={1, 1}, base=1}, deepcopy={args={1, 2}, base=1}, delete={args={1,2}, base=1, returns='integer'}, deletebufline={args={2,3}, base=1}, dictwatcheradd={args=3}, dictwatcherdel={args=3}, did_filetype={fast=true}, diff_filler={args=1, base=1}, diff_hlID={args=2, base=1}, digraph_get={args=1, base=1}, digraph_getlist={args={0, 1}, base=1}, digraph_set={args=2, base=1}, digraph_setlist={args=1, base=1}, empty={args=1, base=1}, environ={fast=true}, escape={args=2, base=1, fast=true}, eval={args=1, base=1}, eventhandler={}, executable={args=1, base=1, fast=true}, execute={args={1, 2}, base=1}, exepath={args=1, base=1}, exists={args=1, base=1, returns=VIMBOOL}, exp={args=1, base=1, float_func="exp"}, expand={args={1, 3}, base=1, returns='string|string[]'}, expandcmd={args={1, 2}, base=1}, extend={args={2, 3}, base=1}, extendnew={args={2, 3}, base=1}, feedkeys={args={1, 2}, base=1}, file_readable={ args=1, base=1, func='f_filereadable', deprecated = { 'Obsolete name for |filereadable()|.' } }, filereadable={args=1, base=1, fast=true, returns=VIMBOOL}, filewritable={args=1, base=1, fast=true, returns=VIMBOOL}, filter={args=2, base=1}, finddir={args={1, 3}, base=1}, findfile={args={1, 3}, base=1}, flatten={args={1, 2}, base=1, returns='any[]|0'}, flattennew={args={1, 2}, base=1, returns='any[]|0'}, float2nr={args=1, base=1}, floor={args=1, base=1, float_func="floor"}, fmod={args=2, base=1}, fnameescape={args=1, base=1, fast=true, returns='string'}, fnamemodify={args=2, base=1, fast=true, returns='string'}, foldclosed={args=1, base=1, returns='integer'}, foldclosedend={args=1, base=1, returns='integer'}, foldlevel={args=1, base=1, returns='integer'}, foldtext={returns='string'}, foldtextresult={args=1, base=1, returns='string'}, foreground={}, fullcommand={args=1, base=1, returns='string'}, funcref={args={1, 3}, base=1}, ['function']={args={1, 3}, base=1}, garbagecollect={args={0, 1}}, get={args={2, 3}, base=1}, getbufinfo={args={0, 1}, base=1}, getbufline={args={2, 3}, base=1}, getbufoneline={args=2, base=1}, getbufvar={args={2, 3}, base=1}, getcellwidths={}, getchangelist={args={0, 1}, base=1}, getchar={args={0, 1}, returns='integer'}, getcharmod={returns='integer'}, getcharpos={args=1, base=1}, getcharsearch={}, getcharstr={args={0, 1}, returns='string'}, getcmdcompltype={returns='string'}, getcmdline={returns='string'}, getcmdpos={}, getcmdscreenpos={}, getcmdtype={returns="':'|'>'|'/'|'?'|'@'|'-'|'='"}, getcmdwintype={returns="':'|'>'|'/'|'?'|'@'|'-'|'='"}, getcompletion={args={2, 3}, base=1, returns='string[]'}, getcurpos={args={0, 1}, base=1}, getcursorcharpos={args={0, 1}, base=1}, getcwd={args={0, 2}, base=1, returns='string'}, getenv={args=1, base=1, returns='string'}, getfontname={args={0, 1}, returns='string'}, getfperm={args=1, base=1, fast=true, returns='string'}, getfsize={args=1, base=1, fast=true, returns='integer'}, getftime={args=1, base=1, fast=true, returns='integer'}, getftype={args=1, base=1, fast=true, returns="'file'|'dir'|'link'|'bdev'|'cdev'|'socket'|'fifo'|'other'"}, getjumplist={args={0, 2}, base=1}, getline={args={1, 2}, base=1}, getloclist={args={1, 2}}, getmarklist={args={0, 1}, base=1}, getmatches={args={0, 1}}, getmousepos={}, getpid={fast=true, returns='integer'}, getpos={args=1, base=1}, getqflist={args={0, 1}}, getreg={args={0, 3}, base=1, returns='string|string[]'}, getreginfo={args={0, 1}, base=1, returns='table'}, getregtype={args={0, 1}, base=1, returns='string'}, gettabinfo={args={0, 1}, base=1}, gettabvar={args={2, 3}, base=1}, gettabwinvar={args={3, 4}, base=1}, getscriptinfo={args={0, 1}}, gettagstack={args={0, 1}, base=1}, gettext={args=1, base=1}, getwininfo={args={0, 1}, base=1}, getwinpos={args={0, 1}, base=1}, getwinposx={returns='integer'}, getwinposy={returns='integer'}, getwinvar={args={2, 3}, base=1}, glob={args={1, 4}, base=1}, glob2regpat={args=1, base=1}, globpath={args={2, 5}, base=2}, has={args=1, returns=VIMBOOL}, has_key={args=2, base=1, returns=VIMBOOL}, haslocaldir={args={0, 2}, base=1, returns=VIMBOOL}, hasmapto={args={1, 3}, base=1, returns=VIMBOOL}, highlightID={ args=1, base=1, func='f_hlID', deprecated = { 'Obsolete name for |hlID()|.' } }, highlight_exists={ args=1, base=1, func='f_hlexists', deprecated = { 'Obsolete name for |hlexists()|.' } }, histadd={args=2, base=2, returns=VIMBOOL}, histdel={args={1, 2}, base=1, returns=VIMBOOL}, histget={args={1, 2}, base=1, returns='string'}, histnr={args=1, base=1, returns='integer'}, hlID={args=1, base=1, returns='integer'}, hlexists={args=1, base=1, returns=VIMBOOL}, hostname={fast=true, returns='string'}, iconv={args=3, base=1, fast=true}, indent={args=1, base=1, returns='integer'}, index={args={2, 4}, base=1}, indexof={args={2, 3}, base=1}, input={args={1, 3}, base=1}, inputdialog={ args={1, 3}, base=1, deprecated = { 'Use |input()| instead.' } }, inputlist={args=1, base=1}, inputrestore={}, inputsave={}, inputsecret={args={1, 2}, base=1}, insert={args={2, 3}, base=1}, interrupt={args=0}, invert={args=1, base=1}, isdirectory={args=1, base=1, fast=true, returns=VIMBOOL}, isinf={args=1, base=1, returns='1|0|-1'}, islocked={args=1, base=1, returns=VIMBOOL}, isnan={args=1, base=1, returns=VIMBOOL}, id={args=1}, items={args=1, base=1}, jobclose={ args={1, 2}, func="f_chanclose", deprecated = { 'Obsolete name for |chanclose()|' } }, jobpid={args=1, returns='integer'}, jobresize={args=3}, jobsend={ args=2, func="f_chansend", deprecated = { 'Obsolete name for |chansend()|' } }, jobstart={args={1, 2}}, jobstop={args=1}, jobwait={args={1, 2}}, join={args={1, 2}, base=1}, json_decode={args=1, base=1}, json_encode={args=1, base=1}, keys={args=1, base=1}, keytrans={args=1, base=1}, last_buffer_nr={ deprecated = { 'Obsolete name for bufnr("$").' } }, len={args=1, base=1}, libcall={args=3, base=3}, libcallnr={args=3, base=3}, line={args={1, 2}, base=1, returns='integer'}, line2byte={args=1, base=1, returns='integer'}, lispindent={args=1, base=1}, list2blob={args=1, base=1}, list2str={args={1, 2}, base=1}, localtime={}, log={args=1, base=1, float_func="log"}, log10={args=1, base=1, float_func="log10"}, luaeval={args={1, 2}, base=1}, map={args=2, base=1}, maparg={args={1, 4}, base=1}, mapcheck={args={1, 3}, base=1}, mapset={args=3, base=1}, match={args={2, 4}, base=1}, matchadd={args={2, 5}, base=1}, matchaddpos={args={2, 5}, base=1}, matcharg={args=1, base=1}, matchdelete={args={1, 2}, base=1}, matchend={args={2, 4}, base=1}, matchfuzzy={args={2, 3}, base=1}, matchfuzzypos={args={2, 3}, base=1}, matchlist={args={2, 4}, base=1}, matchstr={args={2, 4}, base=1}, matchstrpos={args={2,4}, base=1}, max={args=1, base=1}, menu_get={args={1, 2}}, menu_info={args={1, 2}, base=1}, min={args=1, base=1}, mkdir={args={1, 3}, base=1}, mode={args={0, 1}, base=1}, msgpackdump={args={1, 2}}, msgpackparse={args=1}, nextnonblank={args=1, base=1}, nr2char={args={1, 2}, base=1}, ['or']={args=2, base=1}, pathshorten={args={1, 2}, base=1}, pow={args=2, base=1}, prevnonblank={args=1, base=1}, printf={args={1}, base=2}, prompt_getprompt={args=1, base=1}, prompt_setcallback={args={2, 2}, base=1}, prompt_setinterrupt={args={2, 2}, base=1}, prompt_setprompt={args={2, 2}, base=1}, pum_getpos={}, pumvisible={}, py3eval={args=1, base=1}, pyeval={args=1, base=1, func="f_py3eval"}, pyxeval={args=1, base=1, func="f_py3eval"}, perleval={args=1, base=1}, rand={args={0, 1}, base=1}, range={args={1, 3}, base=1}, readblob={args={1, 3}, base=1}, readdir={args={1, 2}, base=1}, readfile={args={1, 3}, base=1}, reduce={args={2, 3}, base=1}, reg_executing={}, reg_recording={}, reg_recorded={}, reltime={args={0, 2}, base=1, fast=true}, reltimefloat={args=1, base=1, fast=true}, reltimestr={args=1, base=1, fast=true}, remove={args={2, 3}, base=1}, rename={args=2, base=1}, ['repeat']={args=2, base=1, fast=true}, resolve={args=1, base=1, fast=true}, reverse={args=1, base=1}, round={args=1, base=1, float_func="round"}, rpcnotify={args={2}}, rpcrequest={args={2}}, rpcstart={args={1, 2}}, rpcstop={ args=1, deprecated = { 'Use |jobstop()| instead to stop any job, or', '`chanclose(id, "rpc")` to close RPC communication', 'without stopping the job. Use chanclose(id) to close', 'any socket.' } }, rubyeval={args=1, base=1}, screenattr={args=2, base=1}, screenchar={args=2, base=1}, screenchars={args=2, base=1}, screencol={}, screenpos={args=3, base=1}, screenrow={}, screenstring={args=2, base=1}, search={args={1, 5}, base=1}, searchcount={args={0, 1}, base=1}, searchdecl={args={1, 3}, base=1}, searchpair={args={3, 7}}, searchpairpos={args={3, 7}}, searchpos={args={1, 5}, base=1}, serverlist={}, serverstart={args={0, 1}}, serverstop={args=1}, setbufline={args=3, base=3}, setbufvar={args=3, base=3}, setcellwidths={args=1, base=1}, setcharpos={args=2, base=2}, setcharsearch={args=1, base=1}, setcmdpos={args=1, base=1}, setcmdline={args={1, 2}, base=1}, setcursorcharpos={args={1, 3}, base=1}, setenv={args=2, base=2}, setfperm={args=2, base=1}, setline={args=2, base=2}, setloclist={args={2, 4}, base=2}, setmatches={args={1, 2}, base=1}, setpos={args=2, base=2}, setqflist={args={1, 3}, base=1}, setreg={args={2, 3}, base=2}, settabvar={args=3, base=3}, settabwinvar={args=4, base=4}, settagstack={args={2, 3}, base=2}, setwinvar={args=3, base=3}, sha256={args=1, base=1}, shellescape={args={1, 2}, base=1}, shiftwidth={args={0, 1}, base=1}, sign_define={args={1, 2}, base=1}, sign_getdefined={args={0, 1}, base=1}, sign_getplaced={args={0, 2}, base=1}, sign_jump={args=3, base=1}, sign_place={args={4, 5}, base=1}, sign_placelist={args=1, base=1}, sign_undefine={args={0, 1}, base=1}, sign_unplace={args={1, 2}, base=1}, sign_unplacelist={args=1, base=1}, simplify={args=1, base=1}, sin={args=1, base=1, float_func="sin"}, sinh={args=1, base=1, float_func="sinh"}, slice={args={2, 3}, base=1}, sockconnect={args={2,3}}, sort={args={1, 3}, base=1}, soundfold={args=1, base=1}, stdioopen={args=1}, spellbadword={args={0, 1}, base=1}, spellsuggest={args={1, 3}, base=1}, split={args={1, 3}, base=1}, sqrt={args=1, base=1, float_func="sqrt"}, srand={args={0, 1}, base=1}, stdpath={args=1, fast=true}, str2float={args=1, base=1}, str2list={args={1, 2}, base=1}, str2nr={args={1, 3}, base=1}, strcharlen={args=1, base=1}, strcharpart={args={2, 4}, base=1, fast=true}, strchars={args={1, 2}, base=1}, strdisplaywidth={args={1, 2}, base=1}, strftime={args={1, 2}, base=1}, strgetchar={args=2, base=1}, stridx={args={2, 3}, base=1, fast=true}, string={args=1, base=1}, strlen={args=1, base=1}, strpart={args={2, 4}, base=1, fast=true}, strptime={args=2, base=1}, strridx={args={2, 3}, base=1}, strtrans={args=1, base=1, fast=true}, strutf16len={args={1, 2}, base=1}, strwidth={args=1, base=1, fast=true}, submatch={args={1, 2}, base=1}, substitute={args=4, base=1}, swapfilelist={}, swapinfo={args=1, base=1}, swapname={args=1, base=1}, synID={args=3}, synIDattr={args={2, 3}, base=1}, synIDtrans={args=1, base=1}, synconcealed={args=2}, synstack={args=2}, system={args={1, 2}, base=1}, systemlist={args={1, 3}, base=1}, tabpagebuflist={args={0, 1}, base=1}, tabpagenr={args={0, 1}}, tabpagewinnr={args={1, 2}, base=1}, tagfiles={}, taglist={args={1, 2}, base=1}, tan={args=1, base=1, float_func="tan"}, tanh={args=1, base=1, float_func="tanh"}, tempname={returns='string'}, termopen={args={1, 2}}, test_garbagecollect_now={}, test_write_list_log={args=1}, timer_info={args={0, 1}, base=1}, timer_pause={args=2, base=1}, timer_start={args={2, 3}, base=1}, timer_stop={args=1, base=1}, timer_stopall={args=0}, tolower={args=1, base=1, fast=true, returns='string'}, toupper={args=1, base=1, fast=true, returns='string'}, tr={args=3, base=1}, trim={args={1, 3}, base=1, returns='string'}, trunc={args=1, base=1, float_func="trunc"}, type={args=1, base=1, fast=true}, undofile={args=1, base=1, returns='string'}, undotree={}, uniq={args={1, 3}, base=1, returns='any[]|0'}, utf16idx={args={2, 4}, base=1, returns='integer'}, values={args=1, base=1}, virtcol={args={1, 2}, base=1}, virtcol2col={args=3, base=1}, visualmode={args={0, 1}}, wait={args={2,3}}, wildmenumode={}, win_execute={args={2, 3}, base=2}, win_findbuf={args=1, base=1, returns='integer[]'}, win_getid={args={0, 2}, base=1, returns='integer'}, win_gettype={args={0, 1}, base=1, returns="'autocmd'|'command'|''|'loclist'|'popup'|'preview'|'quickfix'|'unknown'"}, win_gotoid={args=1, base=1, returns=VIMBOOL}, win_id2tabwin={args=1, base=1}, win_id2win={args=1, base=1}, win_move_separator={args=2, base=1}, win_move_statusline={args=2, base=1}, win_screenpos={args=1, base=1}, win_splitmove={args={2, 3}, base=1}, winbufnr={args=1, base=1, returns='integer'}, wincol={returns='integer'}, windowsversion={fast=true, returns='string'}, winheight={args=1, base=1, returns='integer'}, winlayout={args={0, 1}, base=1}, winline={returns='integer'}, winnr={args={0, 1}, base=1}, winrestcmd={}, winrestview={args=1, base=1}, winsaveview={}, winwidth={args=1, base=1}, wordcount={}, writefile={args={2, 3}, base=1}, xor={args=2, base=1}, }, }