]> granicus.if.org Git - vim/commitdiff
Update runtime files
authorBram Moolenaar <Bram@vim.org>
Mon, 31 Jan 2022 15:40:56 +0000 (15:40 +0000)
committerBram Moolenaar <Bram@vim.org>
Mon, 31 Jan 2022 15:40:56 +0000 (15:40 +0000)
runtime/autoload/ccomplete.vim
runtime/autoload/dist/ft.vim
runtime/doc/indent.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/doc/vim9.txt
runtime/filetype.vim
runtime/indent/html.vim
runtime/indent/testdir/html.in
runtime/indent/testdir/html.ok
runtime/syntax/vim.vim

index d8675faf6ba22c9e561b31cd9cedb49561a1222d..3bddba7a9510921dc1bf21f07e9e8f22646441da 100644 (file)
@@ -4,13 +4,13 @@ vim9script noclear
 # Language:     C
 # Maintainer:   Bram Moolenaar <Bram@vim.org>
 #              Rewritten in Vim9 script by github user lacygoill
-# Last Change:  2021 Dec 27
+# Last Change:  2022 Jan 31
 
 var prepended: string
 var grepCache: dict<list<dict<any>>>
 
 # This function is used for the 'omnifunc' option.
-def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
+export def Complete(findstart: bool, abase: string): any # {{{1
   if findstart
     # Locate the start of the item, including ".", "->" and "[...]".
     var line: string = getline('.')
@@ -202,7 +202,7 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
               || !v['static']
               || bufnr('%') == bufnr(v['filename']))
 
-    res = extendnew(res, tags->map((_, v: dict<any>) => Tag2item(v)))
+    res = res->extend(tags->map((_, v: dict<any>) => Tag2item(v)))
   endif
 
   if len(res) == 0
@@ -216,9 +216,9 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
     for i: number in len(diclist)->range()
       # New ctags has the "typeref" field.  Patched version has "typename".
       if diclist[i]->has_key('typename')
-        res = extendnew(res, diclist[i]['typename']->StructMembers(items[1 :], true))
+        res = res->extend(diclist[i]['typename']->StructMembers(items[1 :], true))
       elseif diclist[i]->has_key('typeref')
-        res = extendnew(res, diclist[i]['typeref']->StructMembers(items[1 :], true))
+        res = res->extend(diclist[i]['typeref']->StructMembers(items[1 :], true))
       endif
 
       # For a variable use the command, which must be a search pattern that
@@ -227,7 +227,7 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
         var line: string = diclist[i]['cmd']
         if line[: 1] == '/^'
           var col: number = line->charidx(match(line, '\<' .. items[0] .. '\>'))
-          res = extendnew(res, line[2 : col - 1]->Nextitem(items[1 :], 0, true))
+          res = res->extend(line[2 : col - 1]->Nextitem(items[1 :], 0, true))
         endif
       endif
     endfor
@@ -256,11 +256,10 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
 enddef
 
 def GetAddition( # {{{1
-  line: string,
-  match: string,
-  memarg: list<dict<any>>,
-  bracket: bool
-): string
+    line: string,
+    match: string,
+    memarg: list<dict<any>>,
+    bracket: bool): string
   # Guess if the item is an array.
   if bracket && match(line, match .. '\s*\[') > 0
     return '['
@@ -403,10 +402,9 @@ def Tagline2item(val: dict<any>, brackets: string): dict<string> # {{{1
 enddef
 
 def Tagcmd2extra( # {{{1
-  cmd: string,
-  name: string,
-  fname: string
-): string
+    cmd: string,
+    name: string,
+    fname: string): string
 # Turn a command from a tag line to something that is useful in the menu
   var x: string
   if cmd =~ '^/^'
@@ -427,11 +425,10 @@ def Tagcmd2extra( # {{{1
 enddef
 
 def Nextitem( # {{{1
-  lead: string,
-  items: list<string>,
-  depth: number,
-  all: bool
-): list<dict<string>>
+    lead: string,
+    items: list<string>,
+    depth: number,
+    all: bool): list<dict<string>>
 # Find composing type in "lead" and match items[0] with it.
 # Repeat this recursively for items[1], if it's there.
 # When resolving typedefs "depth" is used to avoid infinite recursion.
@@ -473,11 +470,11 @@ def Nextitem( # {{{1
 
       # New ctags has the "typeref" field.  Patched version has "typename".
       if item->has_key('typeref')
-        res = extendnew(res, item['typeref']->StructMembers(items, all))
+        res = res->extend(item['typeref']->StructMembers(items, all))
         continue
       endif
       if item->has_key('typename')
-        res = extendnew(res, item['typename']->StructMembers(items, all))
+        res = res->extend(item['typename']->StructMembers(items, all))
         continue
       endif
 
@@ -511,11 +508,11 @@ def Nextitem( # {{{1
               endif
             endfor
             if name != ''
-              res = extendnew(res, StructMembers(cmdtokens[0] .. ':' .. name, items, all))
+              res = res->extend(StructMembers(cmdtokens[0] .. ':' .. name, items, all))
             endif
           elseif depth < 10
             # Could be "typedef other_T some_T".
-            res = extendnew(res, cmdtokens[0]->Nextitem(items, depth + 1, all))
+            res = res->extend(cmdtokens[0]->Nextitem(items, depth + 1, all))
           endif
         endif
       endif
@@ -529,10 +526,9 @@ def Nextitem( # {{{1
 enddef
 
 def StructMembers( # {{{1
-  atypename: string,
-  items: list<string>,
-  all: bool
-): list<dict<string>>
+    atypename: string,
+    items: list<string>,
+    all: bool): list<dict<string>>
 
 # Search for members of structure "typename" in tags files.
 # Return a list with resulting matches.
@@ -641,10 +637,9 @@ def StructMembers( # {{{1
 enddef
 
 def SearchMembers( # {{{1
-  matches: list<dict<any>>,
-  items: list<string>,
-  all: bool
-): list<dict<string>>
+    matches: list<dict<any>>,
+    items: list<string>,
+    all: bool): list<dict<string>>
 
 # For matching members, find matches for following items.
 # When "all" is true find all, otherwise just return 1 if there is any member.
@@ -674,7 +669,7 @@ def SearchMembers( # {{{1
     endif
 
     if typename != ''
-      res = extendnew(res, StructMembers(typename, items, all))
+      res = res->extend(StructMembers(typename, items, all))
     else
       # Use the search command (the declaration itself).
       var sb: number = line->match('\t\zs/^')
@@ -683,7 +678,7 @@ def SearchMembers( # {{{1
         var e: number = line
           ->charidx(match(line, '\<' .. matches[i]['match'] .. '\>', sb))
         if e > 0
-          res = extendnew(res, line[s : e - 1]->Nextitem(items, 0, all))
+          res = res->extend(line[s : e - 1]->Nextitem(items, 0, all))
         endif
       endif
     endif
index f6ef9be891d2819e9d7033c63805a61ef0bd9168..f513a2ac8fb85a0d4e9082c853339b571b66d424 100644 (file)
@@ -1,7 +1,7 @@
 " Vim functions for file type detection
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2022 Jan 28
+" Last Change: 2022 Jan 31
 
 " These functions are moved here from runtime/filetype.vim to make startup
 " faster.
@@ -67,7 +67,7 @@ func dist#ft#FTasmsyntax()
   endif
 endfunc
 
-func dist#ft#FTbas()
+func dist#ft#FTbas(alt = '')
   if exists("g:filetype_bas")
     exe "setf " . g:filetype_bas
     return
@@ -88,6 +88,8 @@ func dist#ft#FTbas()
     setf qb64
   elseif match(lines, '\cVB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)') > -1
     setf vb
+  elseif a:alt != ''
+    exe 'setf ' .. a:alt
   else
     setf basic
   endif
index d82f7423a371ff58c804824c60072d02ed7f821d..6e8f35b2d2d21be654e6e26dc21a7e97f5a7238a 100644 (file)
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 8.2.  Last change: 2019 Dec 07
+*indent.txt*    For Vim version 8.2.  Last change: 2022 Jan 31
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -778,6 +778,15 @@ You can set the indent for the first line after <script> and <style>
       "auto"   auto indent (same indent as the blocktag)
       "inc"    auto indent + one indent step
 
+You can set the indent for attributes after an open <tag line: >
+
+      :let g:html_indent_attribute = 1
+<
+      VALUE    MEANING ~
+      1                auto indent, one indent step more than <tag
+      2                auto indent, two indent steps (default)
+      > 2      auto indent, more indent steps
+
 Many tags increase the indent for what follows per default (see "Add Indent
 Tags" in the script).  You can add further tags with: >
 
index 15f017dd5bea073c687b91f28ae35f7a3f3306b0..001664396bd4b6dfc3b259bfb33048f57953e0d1 100644 (file)
@@ -7779,7 +7779,6 @@ interactive-functions     usr_41.txt      /*interactive-functions*
 interfaces-5.2 version5.txt    /*interfaces-5.2*
 internal-variables     eval.txt        /*internal-variables*
 internal-wordlist      spell.txt       /*internal-wordlist*
-internal_get_nv_cmdchar()      builtin.txt     /*internal_get_nv_cmdchar()*
 internet       intro.txt       /*internet*
 interrupt()    builtin.txt     /*interrupt()*
 intro  intro.txt       /*intro*
@@ -9919,10 +9918,7 @@ test_feedinput() testing.txt     /*test_feedinput()*
 test_garbagecollect_now()      testing.txt     /*test_garbagecollect_now()*
 test_garbagecollect_soon()     testing.txt     /*test_garbagecollect_soon()*
 test_getvalue()        testing.txt     /*test_getvalue()*
-test_gui_drop_files()  testing.txt     /*test_gui_drop_files()*
-test_gui_mouse_event() testing.txt     /*test_gui_mouse_event()*
-test_gui_tabline_event()       testing.txt     /*test_gui_tabline_event()*
-test_gui_tabmenu_event()       testing.txt     /*test_gui_tabmenu_event()*
+test_gui_event()       testing.txt     /*test_gui_event()*
 test_ignore_error()    testing.txt     /*test_ignore_error()*
 test_null_blob()       testing.txt     /*test_null_blob()*
 test_null_channel()    testing.txt     /*test_null_channel()*
index 6743b64da9a0cb99892bc012af76ce93c86d1410..5861fa880666f47c19ee40a9329c00c50c5b4e2a 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2022 Jan 29
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Jan 31
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -38,19 +38,16 @@ browser use: https://github.com/vim/vim/issues/1234
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Only find a global function from Vim9 script when using "g:" ?  #9637
-
-Disallow defining a script#Func() in Vim9 script.
-
 Cannot use command modifier for "import 'name.vim' as vim9"
 
+range() returns list<number>, but it's OK if map() changes the type.
+#9665  Change internal_func_ret_type() to return current and declared type?
+
 When making a copy of a list or dict, do not keep the type? #9644
     With deepcopy() all, with copy() this still fails:
     var l: list<list<number>> = [[1], [2]]
     l->copy()[0][0] = 'x'
 
-Remove EBCDIC support?
-
 Once Vim9 is stable:
 - Add all the error numbers in a good place in documentation.
     done until E1145
index 2baf46c5994c8bed73a9a408358af62d99270a06..06f89255cef6dabfcb8e75d2341f9640ecb8fd0d 100644 (file)
@@ -1,4 +1,4 @@
-*vim9.txt*     For Vim version 8.2.  Last change: 2022 Jan 29
+*vim9.txt*     For Vim version 8.2.  Last change: 2022 Jan 30
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -372,13 +372,12 @@ Global variables must be prefixed with "g:", also at the script level. >
        g:global = 'value'
        var Funcref = g:ThatFunction
 
-Global functions must be prefixed with "g:" when defining them, but can be
-called without "g:". >
+Global functions must be prefixed with "g:": >
        vim9script
        def g:GlobalFunc(): string
          return 'text'
        enddef
-       echo GlobalFunc()
+       echo g:GlobalFunc()
 The "g:" prefix is not needed for auto-load functions.
 
                                        *vim9-function-defined-later*
@@ -1334,10 +1333,10 @@ variable was declared in a legacy function.
 When a type has been declared this is attached to a list or string.  When
 later some expression attempts to change the type an error will be given: >
        var ll: list<number> = [1, 2, 3]
-       ll->extend('x')  # Error, 'x' is not a number
+       ll->extend(['x'])  # Error, 'x' is not a number
 
 If the type is inferred then the type is allowed to change: >
-       [1, 2, 3]->extend('x')  # result: [1, 2, 3, 'x']
+       [1, 2, 3]->extend(['x'])  # result: [1, 2, 3, 'x']
 
 
 Stricter type checking ~
index bc85b128ac4bdf16b162042d3270bb2b878e2905..5d04f21c08487396aae220f47f27a2548d325c51 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2022 Jan 29
+" Last Change: 2022 Jan 31
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -2051,7 +2051,7 @@ au BufRead,BufNewFile *.hw,*.module,*.pkg
        \ endif
 
 " Visual Basic (also uses *.bas) or FORM
-au BufNewFile,BufRead *.frm                    call dist#ft#FTVB("form")
+au BufNewFile,BufRead *.frm                    call dist#ft#FTbas('form')
 
 " SaxBasic is close to Visual Basic
 au BufNewFile,BufRead *.sba                    setf vb
index d4b91f6421059fc9984c92c4f75db8c567efacaa..a3c32d634287fb2b2783e6eaec86afd9cfcbfebb 100644 (file)
@@ -1,7 +1,7 @@
 " Vim indent script for HTML
 " Maintainer:  Bram Moolenaar
 " Original Author: Andy Wokula <anwoku@yahoo.de>
-" Last Change: 2021 Jun 13
+" Last Change: 2022 Jan 31
 " Version:     1.0 "{{{
 " Description: HTML indent script with cached state for faster indenting on a
 "              range of lines.
@@ -149,6 +149,15 @@ func HtmlIndent_CheckUserSettings()
       let b:html_indent_line_limit = 200
     endif
   endif
+
+  if exists('b:html_indent_attribute')
+    let b:hi_attr_indent = b:html_indent_attribute
+  elseif exists('g:html_indent_attribute')
+    let b:hi_attr_indent = g:html_indent_attribute
+  else
+    let b:hi_attr_indent = 2
+  endif
+
 endfunc "}}}
 
 " Init Script Vars
@@ -946,11 +955,11 @@ func s:InsideTag(foundHtmlString)
       let idx = match(text, '<' . s:tagname . '\s\+\zs\w')
     endif
     if idx == -1
-      " after just "<tag" indent two levels more
+      " after just "<tag" indent two levels more by default
       let idx = match(text, '<' . s:tagname . '$')
       if idx >= 0
        call cursor(lnum, idx + 1)
-       return virtcol('.') - 1 + shiftwidth() * 2
+       return virtcol('.') - 1 + shiftwidth() * b:hi_attr_indent
       endif
     endif
     if idx > 0
index 1acf8c04029bb8a9cb22790b7eb8676827df2283..b62c67ddb24388bdf36377a06ae163d8ff512ff2 100644 (file)
@@ -1,4 +1,4 @@
-" vim: set ft=html sw=4 :
+" vim: set ft=html sw=4 ts=8 :
 
 
 " START_INDENT
@@ -41,6 +41,11 @@ dd text
 dt text
 </dt>
 </dl>
+<div
+class="test"
+style="color: yellow">
+text
+</div>
 
     </body>
 </html>
@@ -50,6 +55,7 @@ dt text
 % START_INDENT
 % INDENT_EXE let g:html_indent_style1 = "inc"
 % INDENT_EXE let g:html_indent_script1 = "zero"
+% INDENT_EXE let g:html_indent_attribute = 1
 % INDENT_EXE call HtmlIndent_CheckUserSettings()
 <html>
     <body>
@@ -61,6 +67,11 @@ div#d2 { color: green; }
        var v1 = "v1";
 var v2 = "v2";
     </script>
+<div
+class="test"
+style="color: yellow">
+text
+</div>
 </body>
 </html>
 % END_INDENT
index c0dfc9dc72c52bc56f19f6cb57e0f7dec89c935a..938e965d8cc5b136ba91766fd4a9c6f9b8f9b978 100644 (file)
@@ -1,4 +1,4 @@
-" vim: set ft=html sw=4 :
+" vim: set ft=html sw=4 ts=8 :
 
 
 " START_INDENT
@@ -41,6 +41,11 @@ div#d2 { color: green; }
                dt text
            </dt>
        </dl>
+       <div
+               class="test"
+               style="color: yellow">
+           text
+       </div>
 
     </body>
 </html>
@@ -50,6 +55,7 @@ div#d2 { color: green; }
 % START_INDENT
 % INDENT_EXE let g:html_indent_style1 = "inc"
 % INDENT_EXE let g:html_indent_script1 = "zero"
+% INDENT_EXE let g:html_indent_attribute = 1
 % INDENT_EXE call HtmlIndent_CheckUserSettings()
 <html>
     <body>
@@ -61,6 +67,11 @@ div#d2 { color: green; }
 var v1 = "v1";
 var v2 = "v2";
        </script>
+       <div
+           class="test"
+           style="color: yellow">
+           text
+       </div>
     </body>
 </html>
 % END_INDENT
index abdce6aeab5d31aeccc3983eec28eb1740bfe6c3..022439cf3900c2c76cfbe0435c63e20fe584a2bb 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Vim 8.2 script
 " Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
-" Last Change: January 11, 2022
-" Version:     8.2-24
+" Last Change: January 30, 2022
+" Version:     8.2-26
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -78,11 +78,11 @@ syn match vimHLGroup contained      "Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained      abs argc assert_equal assert_match atan browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filter floor foldlevel function getchangelist getcmdline getcursorcharpos getftime getmarklist getreg gettagstack getwinvar has_key histget hlset input inputsecret isinf job_info join keys line2byte listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winnr win_splitmove
-syn keyword vimFuncName contained      acos argidx assert_equalfile assert_nobeep atan2 browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath extend finddir fmod foldtext garbagecollect getchar getcmdpos getcwd getftype getmatches getreginfo gettext glob haslocaldir histnr hostname inputdialog insert islocked job_setoptions js_decode len lispindent listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_drop_files test_null_dict test_null_string test_setmouse timer_info tolower type values wincol win_gettype winlayout winrestcmd winwidth
-syn keyword vimFuncName contained      add arglistid assert_exception assert_notequal balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extendnew findfile fnameescape foldtextresult get getcharmod getcmdtype getenv getimstatus getmousepos getregtype getwininfo glob2regpat hasmapto hlexists iconv inputlist interrupt isnan job_start js_encode libcall list2blob localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_gui_mouse_event test_null_function test_option_not_set test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline winrestview wordcount
-syn keyword vimFuncName contained      and argv assert_fails assert_notmatch balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdwintype getfontname getjumplist getpid gettabinfo getwinpos globpath histadd hlget indent inputrestore invert items job_status json_decode libcallnr list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_ignore_error test_null_job test_override test_srand_seed timer_start tr undofile visualmode win_execute winheight win_move_separator winsaveview writefile
-syn keyword vimFuncName contained      append asin assert_false assert_report balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcompletion getfperm getline getpos gettabvar getwinposx has histdel hlID index inputsave isdirectory job_getchannel job_stop json_encode line listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_blob test_null_list test_refcount test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
+syn keyword vimFuncName contained      abs argc assert_equal assert_match atan browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filter floor foldlevel function getchangelist getcmdline getcursorcharpos getftime getmarklist getreg gettagstack getwinvar has_key histget hlset input inputsecret isdirectory job_getchannel job_stop json_encode line listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winnr win_splitmove
+syn keyword vimFuncName contained      acos argidx assert_equalfile assert_nobeep atan2 browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath extend finddir fmod foldtext garbagecollect getchar getcmdpos getcwd getftype getmatches getreginfo gettext glob haslocaldir histnr hostname inputdialog insert isinf job_info join keys line2byte listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_setmouse timer_info tolower type values wincol win_gettype winlayout winrestcmd winwidth
+syn keyword vimFuncName contained      add arglistid assert_exception assert_notequal balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extendnew findfile fnameescape foldtextresult get getcharmod getcmdtype getenv getimstatus getmousepos getregtype getwininfo glob2regpat hasmapto hlexists iconv inputlist internal_get_nv_cmdchar islocked job_setoptions js_decode len lispindent listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline winrestview wordcount
+syn keyword vimFuncName contained      and argv assert_fails assert_notmatch balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdwintype getfontname getjumplist getpid gettabinfo getwinpos globpath histadd hlget indent inputrestore interrupt isnan job_start js_encode libcall list2blob localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_srand_seed timer_start tr undofile visualmode win_execute winheight win_move_separator winsaveview writefile
+syn keyword vimFuncName contained      append asin assert_false assert_report balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcompletion getfperm getline getpos gettabvar getwinposx has histdel hlID index inputsave invert items job_status json_decode libcallnr list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
 syn keyword vimFuncName contained      appendbufline assert_beeps assert_inrange assert_true blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filewritable float2nr foldclosedend funcref getbufvar getcharstr getcurpos getfsize getloclist getqflist gettabwinvar getwinposy
 
 "--- syntax here and above generated by mkvimvim ---