# HG changeset patch # User Bram Moolenaar # Date 1617214504 -7200 # Node ID 4ab4ef0c48b1cb908dfe23e0fcf491f6816f3c8b # Parent 1ada4a68ac432129d4e358d5722dfa5e04769860 Update runtime files. Commit: https://github.com/vim/vim/commit/dad4473f02e1fec86d43a2fc094536a4b27d3b25 Author: Bram Moolenaar Date: Wed Mar 31 20:07:33 2021 +0200 Update runtime files. diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -142,6 +142,7 @@ runtime/syntax/csh.vim @cecamp runtime/syntax/cucumber.vim @tpope runtime/syntax/datascript.vim @dpelle runtime/syntax/dcl.vim @cecamp +runtime/syntax/desktop.vim @e-kwsm runtime/syntax/doxygen.vim @frogonwheels runtime/syntax/dtd.vim @chrisbra runtime/syntax/elmfilt.vim @cecamp @@ -152,6 +153,7 @@ runtime/syntax/gitcommit.vim @tpope runtime/syntax/gitconfig.vim @tpope runtime/syntax/gitrebase.vim @tpope runtime/syntax/gprof.vim @dpelle +runtime/syntax/groff.vim @jmarshall runtime/syntax/haml.vim @tpope runtime/syntax/haskell.vim @coot runtime/syntax/hgcommit.vim @k-takata @@ -162,10 +164,10 @@ runtime/syntax/lisp.vim @cecamp runtime/syntax/lynx.vim @dkearns runtime/syntax/mailcap.vim @dkearns runtime/syntax/make.vim @rohieb -runtime/syntax/make.vim @rohieb runtime/syntax/maple.vim @cecamp runtime/syntax/markdown.vim @tpope runtime/syntax/netrw.vim @cecamp +runtime/syntax/nroff.vim @jmarshall runtime/syntax/nsis.vim @k-takata runtime/syntax/pdf.vim @tpope runtime/syntax/php.vim @TysonAndre @@ -180,7 +182,9 @@ runtime/syntax/sh.vim @cecamp runtime/syntax/sm.vim @cecamp runtime/syntax/spec.vim @ignatenkobrain runtime/syntax/sqloracle.vim @chrisbra +runtime/syntax/sshconfig.vim @Jakuje runtime/syntax/sshdconfig.vim @Jakuje +runtime/syntax/sudoers.vim @e-kwsm runtime/syntax/tags.vim @cecamp runtime/syntax/teraterm.vim @k-takata runtime/syntax/tex.vim @cecamp diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 8.2. Last change: 2021 Jan 28 +*autocmd.txt* For Vim version 8.2. Last change: 2021 Mar 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1519,9 +1519,11 @@ option will not cause any commands to be *:doautoa* *:doautoall* :doautoa[ll] [] [group] {event} [fname] Like ":doautocmd", but apply the autocommands to each - loaded buffer. Note that [fname] is used to select - the autocommands, not the buffers to which they are - applied. + loaded buffer. The current buffer is done last. + + Note that [fname] is used to select the autocommands, + not the buffers to which they are applied. + Careful: Don't use this for autocommands that delete a buffer, change to another buffer or change the contents of a buffer; the result is unpredictable. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.2. Last change: 2021 Mar 10 +*eval.txt* For Vim version 8.2. Last change: 2021 Mar 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5107,6 +5107,13 @@ getbufinfo([{dict}]) listed TRUE if the buffer is listed. lnum Line number used for the buffer when opened in the current window. + Only valid if the buffer has been + displayed in the window in the past. + If you want the line number of the + last known cursor position in a given + window, use |line()|: > + :echo line('.', {winid}) +< linecount Number of lines in the buffer (only valid when loaded) loaded TRUE if the buffer is loaded. @@ -6095,12 +6102,12 @@ getwininfo([{winid}]) *getwininfo()* width window width winbar 1 if the window has a toolbar, 0 otherwise - wincol leftmost screen column of the window, - col from |win_screenpos()| + wincol leftmost screen column of the window; + "col" from |win_screenpos()| winid |window-ID| winnr window number - winrow topmost screen column of the window, - row from |win_screenpos()| + winrow topmost screen line of the window; + "row" from |win_screenpos()| Can also be used as a |method|: > GetWinnr()->getwininfo() @@ -12810,8 +12817,8 @@ text... it can no longer be changed (until it is unlocked). A locked variable can be deleted: > :lockvar v - :let v = 'asdf' " fails! - :unlet v + :let v = 'asdf' " fails! + :unlet v " works < *E741* *E940* If you try to change a locked variable you get an error message: "E741: Value is locked: {name}". diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt --- a/runtime/doc/index.txt +++ b/runtime/doc/index.txt @@ -1,4 +1,4 @@ -*index.txt* For Vim version 8.2. Last change: 2021 Feb 14 +*index.txt* For Vim version 8.2. Last change: 2021 Mar 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1294,6 +1294,7 @@ tag command action ~ |:edit| :e[dit] edit a file |:earlier| :ea[rlier] go to older change, undo |:echo| :ec[ho] echoes the result of expressions +|:echoconsole| :echoc[onsole] like :echomsg but write to stdout |:echoerr| :echoe[rr] like :echo, show like an error and use history |:echohl| :echoh[l] set highlighting for echo commands |:echomsg| :echom[sg] same as :echo, put message in history diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 8.2. Last change: 2020 Dec 10 +*map.txt* For Vim version 8.2. Last change: 2021 Mar 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -271,8 +271,8 @@ typeahead, before the previous command h endfunc nnoremap x StoreColumn() nmap ! f!x -You will notice that g:column has the value from before executing "fx", -because "z" is evaluated before "fx" is executed. +You will notice that g:column has the value from before executing "f!", +because "x" is evaluated before "f!" is executed. This can be solved by inserting before the character that is expression-mapped: > nmap ! f!x diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 8.2. Last change: 2020 Oct 18 +*motion.txt* For Vim version 8.2. Last change: 2021 Mar 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -942,8 +942,7 @@ These commands are not marks themselves, line. *]`* -]` [count] times to lowercase mark after the cursor. {not - in Vi} +]` [count] times to lowercase mark after the cursor. *['* [' [count] times to previous line with a lowercase mark @@ -1037,6 +1036,12 @@ CTRL-I Go to [count] newer cursor posi (not a motion command). {not available without the |+jumplist| feature} + NOTE: In the GUI and in a terminal supporting + |modifyOtherKeys|, CTRL-I can be mapped separately + from , on the condition that CTRL-I is + mapped before , otherwise the mapping applies to + both. + *:ju* *:jumps* :ju[mps] Print the jump list (not a motion command). {not available without the |+jumplist| feature} @@ -1054,11 +1059,11 @@ The maximum number of entries is fixed a For example, after three jump commands you have this jump list: - jump line col file/text ~ - 3 1 0 some text ~ - 2 70 0 another line ~ - 1 1154 23 end. ~ - > ~ + jump line col file/text ~ + 3 1 0 some text ~ + 2 70 0 another line ~ + 1 1154 23 end. ~ + > ~ The "file/text" column shows the file name, or the text at the jump if it is in the current file (an indent is removed and a long line is truncated to fit @@ -1067,11 +1072,11 @@ in the window). You are currently in line 1167. If you then use the CTRL-O command, the cursor is put in line 1154. This results in: - jump line col file/text ~ - 2 1 0 some text ~ - 1 70 0 another line ~ - > 0 1154 23 end. ~ - 1 1167 0 foo bar ~ + jump line col file/text ~ + 2 1 0 some text ~ + 1 70 0 another line ~ + > 0 1154 23 end. ~ + 1 1167 0 foo bar ~ The pointer will be set at the last used jump position. The next CTRL-O command will use the entry above it, the next CTRL-I command will use the @@ -1098,12 +1103,12 @@ that calling setpos() does not do this. After the CTRL-O command that got you into line 1154 you could give another jump command (e.g., "G"). The jump list would then become: - jump line col file/text ~ - 4 1 0 some text ~ - 3 70 0 another line ~ - 2 1167 0 foo bar ~ - 1 1154 23 end. ~ - > ~ + jump line col file/text ~ + 4 1 0 some text ~ + 3 70 0 another line ~ + 2 1167 0 foo bar ~ + 1 1154 23 end. ~ + > ~ The line numbers will be adjusted for deleted and inserted lines. This fails if you stop editing a file without writing, like with ":n!". @@ -1152,7 +1157,7 @@ Note that when text has been inserted or a bit different from the position of the change. Especially when lines have been deleted. -When the |:keepjumps| command modifier is used the position of a change is not +When the `:keepjumps` command modifier is used the position of a change is not remembered. *:changes* @@ -1193,7 +1198,7 @@ 9. Various motions *various-motions* #if, #ifdef, #else, #elif, #endif C preprocessor conditionals (when the cursor is on the # or no ([{ - following) + is following) For other items the matchit plugin can be used, see |matchit-install|. This plugin also helps to skip matches in comments. @@ -1222,19 +1227,16 @@ 9. Various motions *various-motions* #if/#else/#endif makes the movement linewise. *[(* -[( go to [count] previous unmatched '('. +[( Go to [count] previous unmatched '('. |exclusive| motion. - *[{* -[{ go to [count] previous unmatched '{'. +[{ Go to [count] previous unmatched '{'. |exclusive| motion. - *])* -]) go to [count] next unmatched ')'. +]) Go to [count] next unmatched ')'. |exclusive| motion. - *]}* -]} go to [count] next unmatched '}'. +]} Go to [count] next unmatched '}'. |exclusive| motion. The above four commands can be used to go to the start or end of the current @@ -1268,7 +1270,7 @@ bring you back to the switch statement. class. When no '}' is found before the cursor this is an error. |exclusive| motion. -The above two commands assume that the file contains a class with methods. +The above four commands assume that the file contains a class with methods. The class definition is surrounded in '{' and '}'. Each method in the class is also surrounded with '{' and '}'. This applies to the Java language. The file looks like this: > @@ -1282,17 +1284,21 @@ file looks like this: > body_two(); } } + +[To try this out copy the text and put it in a new buffer, the help text above +confuses the jump commands] + Starting with the cursor on "body_two()", using "[m" will jump to the '{' at the start of "method_two()" (obviously this is much more useful when the method is long!). Using "2[m" will jump to the start of "method_one()". Using "3[m" will jump to the start of the class. *[#* -[# go to [count] previous unmatched "#if" or "#else". +[# Go to [count] previous unmatched "#if" or "#else". |exclusive| motion. *]#* -]# go to [count] next unmatched "#else" or "#endif". +]# Go to [count] next unmatched "#else" or "#endif". |exclusive| motion. These two commands work in C programs that contain #if/#else/#endif @@ -1300,11 +1306,11 @@ constructs. It brings you to the start the current line is included. You can then use "%" to go to the matching line. *[star* *[/* -[* or [/ go to [count] previous start of a C comment "/*". +[* or [/ Go to [count] previous start of a C comment "/*". |exclusive| motion. *]star* *]/* -]* or ]/ go to [count] next end of a C comment "*/". +]* or ]/ Go to [count] next end of a C comment "*/". |exclusive| motion. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.2. Last change: 2021 Feb 13 +*options.txt* For Vim version 8.2. Last change: 2021 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3865,7 +3865,7 @@ A jump table for the options with a shor *'go-v'* 'v' Use a vertical button layout for dialogs. When not included, a horizontal layout is preferred, but when it doesn't fit a - vertical layout is used anyway. + vertical layout is used anyway. Not supported in GTK 3. *'go-p'* 'p' Use Pointer callbacks for X11 GUI. This is required for some window managers. If the cursor is not blinking or hollow at @@ -8865,15 +8865,15 @@ A jump table for the options with a shor *'window'* *'wi'* 'window' 'wi' number (default screen height - 1) global - Window height. Do not confuse this with the height of the Vim window, - use 'lines' for that. - Used for |CTRL-F| and |CTRL-B| when there is only one window and the - value is smaller than 'lines' minus one. The screen will scroll - 'window' minus two lines, with a minimum of one. + Window height used for |CTRL-F| and |CTRL-B| when there is only one + window and the value is smaller than 'lines' minus one. The screen + will scroll 'window' minus two lines, with a minimum of one. When 'window' is equal to 'lines' minus one CTRL-F and CTRL-B scroll in a much smarter way, taking care of wrapping lines. When resizing the Vim window, the value is smaller than 1 or more than or equal to 'lines' it will be set to 'lines' minus 1. + Note: Do not confuse this with the height of the Vim window, use + 'lines' for that. *'winheight'* *'wh'* *E591* 'winheight' 'wh' number (default 1) diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 8.2. Last change: 2020 Aug 15 +*quickref.txt* For Vim version 8.2. Last change: 2021 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -2236,9 +2236,10 @@ can use them. For example, Linux and BSD distributions use groff as their default text processing package. In order to activate the extra syntax highlighting -features for groff, add the following option to your start-up files: > - - :let b:nroff_is_groff = 1 +features for groff, arrange for files to be recognized as groff (see +|ft-groff-syntax|) or add the following option to your start-up files: > + + :let nroff_is_groff = 1 Groff is different from the old AT&T n/troff that you may still find in Solaris. Groff macro and request names can be longer than 2 characters and diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -57,11 +57,13 @@ 'ari' options.txt /*'ari'* 'arshape' options.txt /*'arshape'* 'as' todo.txt /*'as'* +'asd' options.txt /*'asd'* 'autochdir' options.txt /*'autochdir'* 'autoindent' options.txt /*'autoindent'* 'autoprint' vi_diff.txt /*'autoprint'* 'autoread' options.txt /*'autoread'* 'autosave' todo.txt /*'autosave'* +'autoshelldir' options.txt /*'autoshelldir'* 'autowrite' options.txt /*'autowrite'* 'autowriteall' options.txt /*'autowriteall'* 'aw' options.txt /*'aw'* @@ -508,10 +510,12 @@ 'noari' options.txt /*'noari'* 'noarshape' options.txt /*'noarshape'* 'noas' todo.txt /*'noas'* +'noasd' options.txt /*'noasd'* 'noautochdir' options.txt /*'noautochdir'* 'noautoindent' options.txt /*'noautoindent'* 'noautoread' options.txt /*'noautoread'* 'noautosave' todo.txt /*'noautosave'* +'noautoshelldir' options.txt /*'noautoshelldir'* 'noautowrite' options.txt /*'noautowrite'* 'noautowriteall' options.txt /*'noautowriteall'* 'noaw' options.txt /*'noaw'* @@ -2397,6 +2401,8 @@ 90.5 usr_90.txt /*90.5* :ec eval.txt /*:ec* :echo eval.txt /*:echo* :echo-redraw eval.txt /*:echo-redraw* +:echoc eval.txt /*:echoc* +:echoconsole eval.txt /*:echoconsole* :echoe eval.txt /*:echoe* :echoerr eval.txt /*:echoerr* :echoh eval.txt /*:echoh* @@ -9164,6 +9170,7 @@ str2float() eval.txt /*str2float()* str2list() eval.txt /*str2list()* str2nr() eval.txt /*str2nr()* strcasestr() eval.txt /*strcasestr()* +strcharlen() eval.txt /*strcharlen()* strcharpart() eval.txt /*strcharpart()* strchars() eval.txt /*strchars()* strchr() eval.txt /*strchr()* diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt --- a/runtime/doc/textprop.txt +++ b/runtime/doc/textprop.txt @@ -1,4 +1,4 @@ -*textprop.txt* For Vim version 8.2. Last change: 2020 Oct 14 +*textprop.txt* For Vim version 8.2. Last change: 2021 Mar 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -260,8 +260,8 @@ prop_type_add({name}, {props}) *prop_ty properties the one with the highest priority will be used; negative values can be used, the default priority is zero - combine when TRUE combine the highlight with any - syntax highlight; when omitted or FALSE syntax + combine when omitted or TRUE combine the highlight + with any syntax highlight; when FALSE syntax highlight will not be used start_incl when TRUE inserts at the start position will be included in the text property diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2021 Mar 11 +*todo.txt* For Vim version 8.2. Last change: 2021 Mar 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -39,48 +39,9 @@ browser use: https://github.com/vim/vim/ -------------------- Known bugs and current work ----------------------- Vim9 - Make everything work: -- Does this work now: Implement using imported items at script level from - "import * as X" in -- import of item that isn't exported: error should mention missing "export"? -- no error for using :import in legacy script? -- Disallow :open ? -- Check: what if 'cpo' is intentionally changed in Vim9 script, does it get - restored at the end? -- ISN_CHECKTYPE could use check_argtype() -- Using a script variable inside a :def function doesn't work if the variable - is inside a block, see Test_nested_function(). Should it work? -- give error for variable name: - var p = function('NoSuchFunc') -- When indexing a string, should we include composing characters? #6563 - string[0] - first character including its composing characters. - string[0 : 0] - same - If you don't want that use strcharpart(). - Also, add optional arg to strcharpart() to include composing chars, to - make it consistent with strchars(). - Add strcharlen(), like strchars() but like skipcc is always set -- Make closures work better: - - Create closure in a loop. Need to make a list of them. -- If a :def function is called with a function reference, compile it to get - the function type. - def Filter(x: string, Cond: func(string): bool) - Filter(x, (v) => v =~ '^b') -- Make inline function work, to be used as a funcref: - var Ref = (arg: type): type => { - statement - return expr - } - var Ref = (arg: type) => { - statement - statement - } - For builtin functions using tv_get_string*() use check_for_string() to be - more strict about the argument type. -- Implement :lockvar and :unlockvar. How about local variables? Perhaps only - allow this for global variables. Use :final or :const otherwise. -- Allow function names that will be script-local to start with lower case - letter? Or also require names with s: prefix to use upper case? - Also apply this function references "var ref = SomeFunc" -- Support passing v:none to use the default argument value. (#6504) + more strict about the argument type (not a bool). + done: balloon_() - Run the same tests in :def and Vim9 script, like in Test_expr7_not() - Check many more builtin function arguments at compile time. - make 0 == 'string' fail on the script level, like inside :def. @@ -280,6 +241,23 @@ Terminal emulator window: Include patch #6290: recognize shell directory change. Valgrind reports memory leaks in test_options. +Valgrind reports overlapping memcpy in + test_conceal.3 + test_edit.1 + test_functions.4 + test_ins_complete.3 + test_method + test_normal + test_popupwin.35 et al. + test_search_stat +Using uninitialized value in test_crypt (can't explain why). +Memory leak in test_debugger +Memory leak in test_paste, using XtOpenDisplay several times +OLD: +TODO: be able to run all parts of test_alot with valgrind separately +Memory leak in test_alot with pyeval() (allocating partial) +Memory leak in test_alot with expand() +Memory leaks in test_channel? (or is it because of fork()) test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows. @@ -298,6 +276,11 @@ interrupt does not work. Where to add ui Remove SPACE_IN_FILENAME ? It is only used for completion. +Add optional argument to virtcol() that specifies "start", "cursor" or "end" +to tell which value from getvvcol() should be used. (#7964) +Value returned by virtcol() changes depending on how lines wrap. This is +inconsistent with the documentation. + Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598) Scroll doesn't work correctly, why? @@ -592,7 +575,7 @@ The quoting of the [command] argument of Give a few examples. (#4288) Opening a file with --remote-tab-silent that matches 'wildignore' does not -work, results in (E479: No match". (#4610) +work, results in "E479: No match". (#4610) 7 Add an option to add one pixel column to the character width? Lucida Console italic is wider than the normal font ("d" overlaps with next char). @@ -781,14 +764,6 @@ Make ":interactive !cmd" stop termcap mo Add buffer argument to undotree(). (#4001) -Memory leak in test_debugger -Using uninitialized value in test_crypt (can't explain why). -Memory leak in test_terminal_fail -TODO: be able to run all parts of test_alot with valgrind separately -Memory leak in test_alot with pyeval() (allocating partial) -Memory leak in test_alot with expand() -Memory leaks in test_channel? (or is it because of fork()) - matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul 19. @@ -1509,9 +1484,6 @@ specifically? First try with the parens Patch to add :mapgroup, put mappings in a group like augroup. (Yasuhiro Matsumoto, 2016 Feb 19) -Value returned by virtcol() changes depending on how lines wrap. This is -inconsistent with the documentation. - Can we cache the syntax attributes, so that updates for 'relativenumber' and 'cursorline'/'cursorcolumn' are a lot faster? Thus store the attributes before combining them. @@ -2466,9 +2438,6 @@ backslash? (Robert Vibrant, 2008 Jun 5) When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21) -Using an insert mode expression mapping, cursor is not in the expected -position. (ZyX, 2010 Aug 29) - After using for command line completion after ":ta blah" and getting E33 (no tags file), further editing the command to e.g., ":echo 'blah'", the command is not executed. Fix by Ian Kelling? diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 8.2. Last change: 2021 Feb 01 +*usr_41.txt* For Vim version 8.2. Last change: 2021 Mar 14 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 8.2. Last change: 2021 Mar 02 +*various.txt* For Vim version 8.2. Last change: 2021 Mar 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -724,7 +724,7 @@ K Run a program to lookup the keyword feature} *:sl!* *:sleep!* -:[N]sl[eep]! [N] [m] Same as above, but hide the cursor +:[N]sl[eep]! [N] [m] Same as above, but hide the cursor. *:xrestore* *:xr* :xr[estore] [display] Reinitializes the connection to the X11 server. Useful diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -2300,7 +2300,7 @@ value didn't fill the whole screen. (Sun Win32 installer: The generated _vimrc contained an absolute path to diff.exe. After upgrading it becomes invalid. Now use $VIMRUNTIME instead. -The command line was cleared to often when 'showmode' was set and ":silent +The command line was cleared too often when 'showmode' was set and ":silent normal vy" was used. Don't clear the command line unless the mode was actually displayed. Added the "mode_displayed" variable. diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -1776,7 +1776,7 @@ Files: runtime/doc/change.txt, runti Patch 7.4.219 Problem: When 'relativenumber' or 'cursorline' are set the window is - redrawn much to often. (Patrick Hemmer, Dominique Pelle) + redrawn much too often. (Patrick Hemmer, Dominique Pelle) Solution: Check the VALID_CROW flag instead of VALID_WROW. Files: src/move.c diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -1,4 +1,4 @@ -*vim9.txt* For Vim version 8.2. Last change: 2021 Mar 03 +*vim9.txt* For Vim version 8.2. Last change: 2021 Mar 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -204,7 +204,7 @@ However, it is recommended to always use for clarity. Since a script-local function reference can be used without "s:" the name must -start with an upper case letter even when using the ":s" prefix. In legacy +start with an upper case letter even when using the "s:" prefix. In legacy script "s:funcref" could be used, because it could not be referred to with "funcref". In Vim9 script it can, therefore "s:Funcref" must be used to avoid that the name interferes with builtin functions. @@ -926,6 +926,27 @@ For these the backtick expansion can be g/pattern/s/^/`=newText`/ enddef +Closures defined in a loop will share the same context. For example: > + var flist: list + for i in range(10) + var inloop = i + flist[i] = () => inloop + endfor + +The "inloop" variable will exist only once, all closures put in the list refer +to the same instance, which in the end will have the value 9. This is +efficient. If you do want a separate context for each closure call a function +to define it: > + def GetFunc(i: number): func + var inloop = i + return () => inloop + enddef + + var flist: list + for i in range(10) + flist[i] = GetFunc(i) + endfor + ============================================================================== 4. Types *vim9-types* @@ -1006,8 +1027,6 @@ And classes and interfaces can be used a :var mine: MyInterface {not implemented yet} -You may also find this wiki useful. It was written by an early adoptor of -Vim9 script: https://github.com/lacygoill/wiki/blob/master/vim/vim9.md Variable types and type casting ~ *variable-types* @@ -1080,27 +1099,6 @@ to a list of numbers. Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use |flattennew()| instead. -Closures defined in a loop will share the same context. For example: > - var flist: list - for i in range(10) - var inloop = i - flist[i] = () => inloop - endfor - -The "inloop" variable will exist only once, all closures put in the list refer -to the same instance, which in the end will have the value 9. This is -efficient. If you do want a separate context for each closure call a function -to define it: > - def GetFunc(i: number): func - var inloop = i - return () => inloop - enddef - - var flist: list - for i in range(10) - flist[i] = GetFunc(i) - endfor - ============================================================================== 5. Namespace, Import and Export diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -1,4 +1,4 @@ -*windows.txt* For Vim version 8.2. Last change: 2021 Feb 06 +*windows.txt* For Vim version 8.2. Last change: 2021 Mar 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -790,7 +790,7 @@ 8. Do a command in all buffers or window Examples: > - :windo set nolist nofoldcolumn | normal zn + :windo set nolist foldcolumn=0 | normal! zn This resets the 'list' option and disables folding in all windows. > @@ -798,7 +798,7 @@ This resets the 'list' option and disabl This resets the 'fileencoding' in each buffer and writes it if this changed the buffer. The result is that all buffers will use the 'encoding' encoding -(if conversion works properly). +(if conversion succeeds). ============================================================================== 9. Tag or file name under the cursor *window-tag* diff --git a/runtime/filetype.vim b/runtime/filetype.vim --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2021 Mar 12 +" Last Change: 2021 Mar 19 " Listen very carefully, I will say this only once if exists("did_load_filetypes") diff --git a/runtime/ftplugin/lisp.vim b/runtime/ftplugin/lisp.vim --- a/runtime/ftplugin/lisp.vim +++ b/runtime/ftplugin/lisp.vim @@ -4,7 +4,7 @@ " URL: http://sites.google.com/site/khorser/opensource/vim " Original author: Dorai Sitaram " Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html -" Last Change: Oct 23, 2013 +" Last Change: Mar 10, 2021 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") diff --git a/runtime/indent/cdl.vim b/runtime/indent/cdl.vim --- a/runtime/indent/cdl.vim +++ b/runtime/indent/cdl.vim @@ -62,10 +62,14 @@ fun! CdlGetIndent(lnum) " PREVIOUS LINE let ind = indent(lnum) let line = getline(lnum) - let f = -1 " wether a '=' is a conditional or a asignment, -1 means we don't know yet - " one 'closing' element at the beginning of the line has already reduced the - " indent, but 'else', 'elseif' & 'then' increment it for the next line - " '=' at the beginning has already de right indent (increased for asignments) + + " Whether a '=' is a conditional or an assignment. -1 means we don't know + " yet. + " One 'closing' element at the beginning of the line has already reduced the + " indent, but 'else', 'elseif' & 'then' increment it for the next line. + " '=' at the beginning already has the right indent (increased for + " asignments). + let f = -1 let inicio = matchend(line, '^\c\s*\(else\a*\|then\|endif\|/[*/]\|[);={]\)') if inicio > 0 let c = line[inicio-1] diff --git a/runtime/syntax/dot.vim b/runtime/syntax/dot.vim --- a/runtime/syntax/dot.vim +++ b/runtime/syntax/dot.vim @@ -1,16 +1,22 @@ -" Vim syntax file " Language: Dot " Filenames: *.dot " Maintainer: Markus Mottl " URL: http://www.ocaml.info/vim/syntax/dot.vim -" Last Change: 2011 May 17 - improved identifier matching + two new keywords +" Last Change: 2021 Mar 24 - better attr + escape string matching, new keywords (Farbod Salamat-Zadeh) +" 2011 May 17 - improved identifier matching + two new keywords " 2001 May 04 - initial version -" quit when a syntax file was already loaded -if exists("b:current_syntax") +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") finish endif +let s:keepcpo = &cpo +set cpo&vim + " Errors syn match dotParErr ")" syn match dotBrackErr "]" @@ -29,39 +35,43 @@ syn keyword dotTodo contained TODO FIXM " Strings syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+ -" General keywords -syn keyword dotKeyword digraph node edge subgraph +" Escape strings +syn match dotEscString /\v\\(N|G|E|T|H|L)/ containedin=dotString +syn match dotEscString /\v\\(n|l|r)/ containedin=dotString -" Graph attributes -syn keyword dotType center layers margin mclimit name nodesep nslimit -syn keyword dotType ordering page pagedir rank rankdir ranksep ratio -syn keyword dotType rotate size - -" Node attributes -syn keyword dotType distortion fillcolor fontcolor fontname fontsize -syn keyword dotType height layer orientation peripheries regular -syn keyword dotType shape shapefile sides skew width +" General keywords +syn keyword dotKeyword graph digraph subgraph node edge strict -" Edge attributes -syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP -syn keyword dotType dir headclip headlabel headport labelangle labeldistance -syn keyword dotType labelfontcolor labelfontname labelfontsize -syn keyword dotType minlen port_label_distance samehead sametail -syn keyword dotType tailclip taillabel tailport weight - -" Shared attributes (graphs, nodes, edges) -syn keyword dotType color - -" Shared attributes (graphs and edges) -syn keyword dotType bgcolor label URL - -" Shared attributes (nodes and edges) -syn keyword dotType fontcolor fontname fontsize layer style +" Node, edge and graph attributes +syn keyword dotType _background area arrowhead arrowsize arrowtail bb bgcolor + \ center charset class clusterrank color colorscheme comment compound + \ concentrate constraint Damping decorate defaultdist dim dimen dir + \ diredgeconstraints distortion dpi edgehref edgetarget edgetooltip + \ edgeURL epsilon esep fillcolor fixedsize fontcolor fontname fontnames + \ fontpath fontsize forcelabels gradientangle group head_lp headclip + \ headhref headlabel headport headtarget headtooltip headURL height href + \ id image imagepath imagepos imagescale inputscale K label label_scheme + \ labelangle labeldistance labelfloat labelfontcolor labelfontname + \ labelfontsize labelhref labeljust labelloc labeltarget labeltooltip + \ labelURL landscape layer layerlistsep layers layerselect layersep + \ layout len levels levelsgap lhead lheight lp ltail lwidth margin + \ maxiter mclimit mindist minlen mode model mosek newrank nodesep + \ nojustify normalize notranslate nslimit nslimit1 ordering orientation + \ outputorder overlap overlap_scaling overlap_shrink pack packmode pad + \ page pagedir pencolor penwidth peripheries pin pos quadtree quantum + \ rank rankdir ranksep ratio rects regular remincross repulsiveforce + \ resolution root rotate rotation samehead sametail samplepoints scale + \ searchsize sep shape shapefile showboxes sides size skew smoothing + \ sortv splines start style stylesheet tail_lp tailclip tailhref + \ taillabel tailport tailtarget tailtooltip tailURL target tooltip + \ truecolor URL vertices viewport voro_margin weight width xdotversion + \ xlabel xlp z " Special chars syn match dotKeyChar "=" syn match dotKeyChar ";" syn match dotKeyChar "->" +syn match dotKeyChar "--" " Identifier syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/ @@ -71,27 +81,41 @@ syn sync minlines=50 syn sync maxlines=500 " Define the default highlighting. -" Only when an item doesn't have highlighting yet +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_dot_syntax_inits") + if version < 508 + let did_dot_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif -hi def link dotParErr Error -hi def link dotBraceErr Error -hi def link dotBrackErr Error - -hi def link dotComment Comment -hi def link dotTodo Todo + HiLink dotParErr Error + HiLink dotBraceErr Error + HiLink dotBrackErr Error -hi def link dotParEncl Keyword -hi def link dotBrackEncl Keyword -hi def link dotBraceEncl Keyword + HiLink dotComment Comment + HiLink dotTodo Todo + + HiLink dotParEncl Keyword + HiLink dotBrackEncl Keyword + HiLink dotBraceEncl Keyword -hi def link dotKeyword Keyword -hi def link dotType Type -hi def link dotKeyChar Keyword + HiLink dotKeyword Keyword + HiLink dotType Type + HiLink dotKeyChar Keyword -hi def link dotString String -hi def link dotIdentifier Identifier + HiLink dotString String + HiLink dotEscString Keyword + HiLink dotIdentifier Identifier + delcommand HiLink +endif let b:current_syntax = "dot" +let &cpo = s:keepcpo +unlet s:keepcpo + " vim: ts=8 diff --git a/runtime/syntax/groff.vim b/runtime/syntax/groff.vim --- a/runtime/syntax/groff.vim +++ b/runtime/syntax/groff.vim @@ -1,7 +1,7 @@ " VIM syntax file " Language: groff -" Maintainer: Alejandro López-Valencia -" URL: http://dradul.tripod.com/vim +" Maintainer: John Marshall +" Previous Maintainer: Pedro Alejandro López-Valencia " Last Change: 2003-05-08-12:41:13 GMT-5. " This uses the nroff.vim syntax file. diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim --- a/runtime/syntax/javascript.vim +++ b/runtime/syntax/javascript.vim @@ -7,7 +7,7 @@ " (ss) repaired several quoting and grouping glitches " (ss) fixed regex parsing issue with multiple qualifiers [gi] " (ss) additional factoring of keywords, globals, and members -" Last Change: 2020 May 14 +" Last Change: 2021 Mar 30 " 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke) " 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder) @@ -41,6 +41,7 @@ syn region javaScriptEmbed start syn match javaScriptSpecialCharacter "'\\.'" syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" +syn match javaScriptNumber "-\=\<\d\+\%(_\d\+\)*\>" syn region javaScriptRegexpString start=+[,(=+]\s*/[^/*]+ms=e-1,me=e-1 skip=+\\\\\|\\/+ end=+/[gimuys]\{0,2\}\s*$+ end=+/[gimuys]\{0,2\}\s*[+;.,)\]}]+me=e-1 end=+/[gimuys]\{0,2\}\s\+\/+me=e-1 contains=@htmlPreproc,javaScriptComment oneline syn keyword javaScriptConditional if else switch diff --git a/runtime/syntax/nroff.vim b/runtime/syntax/nroff.vim --- a/runtime/syntax/nroff.vim +++ b/runtime/syntax/nroff.vim @@ -1,16 +1,9 @@ " VIM syntax file " Language: nroff/groff -" Maintainer: Pedro Alejandro López-Valencia -" URL: http://vorbote.wordpress.com/ -" Last Change: 2012 Feb 2 -" -" {{{1 Acknowledgements -" -" ACKNOWLEDGEMENTS: -" -" My thanks to Jérôme Plût , who was the -" creator and maintainer of this syntax file for several years. -" May I be as good at it as he has been. +" Maintainer: John Marshall +" Previous Maintainer: Pedro Alejandro López-Valencia +" Previous Maintainer: Jérôme Plût +" Last Change: 2021 Mar 28 " " {{{1 Todo " @@ -31,6 +24,13 @@ endif let s:cpo_save = &cpo set cpo&vim +if exists("nroff_is_groff") + let b:nroff_is_groff = 1 +endif + +syn spell toplevel +syn case match + " " {{{1 plugin settings... " @@ -48,7 +48,7 @@ endif " setlocal paragraphs+=XP " -" {{{2 Activate navigation to preporcessor sections. +" {{{2 Activate navigation to preprocessor sections. " if exists("b:preprocs_as_sections") setlocal sections=EQTSPS[\ G1GS @@ -169,9 +169,9 @@ endif " syn region nroffEquation start=/^\.\s*EQ\>/ end=/^\.\s*EN\>/ -syn region nroffTable start=/^\.\s*TS\>/ end=/^\.\s*TE\>/ +syn region nroffTable start=/^\.\s*TS\>/ end=/^\.\s*TE\>/ contains=@Spell syn region nroffPicture start=/^\.\s*PS\>/ end=/^\.\s*PE\>/ -syn region nroffRefer start=/^\.\s*\[\>/ end=/^\.\s*\]\>/ +syn region nroffRefer start=/^\.\s*\[\>/ end=/^\.\s*\]\>/ contains=@Spell syn region nroffGrap start=/^\.\s*G1\>/ end=/^\.\s*G2\>/ syn region nroffGremlin start=/^\.\s*GS\>/ end=/^\.\s*GE|GF\>/ @@ -179,11 +179,11 @@ syn region nroffGremlin start=/^\.\s*GS\ " ------------------------------------------------------------ syn region nroffIgnore start=/^[.']\s*ig/ end=/^['.]\s*\./ -syn match nroffComment /\(^[.']\s*\)\=\\".*/ contains=nroffTodo -syn match nroffComment /^'''.*/ contains=nroffTodo +syn match nroffComment /\(^[.']\s*\)\=\\".*/ contains=nroffTodo,@Spell +syn match nroffComment /^'''.*/ contains=nroffTodo,@Spell if exists("b:nroff_is_groff") - syn match nroffComment "\\#.*$" contains=nroffTodo + syn match nroffComment "\\#.*$" contains=nroffTodo,@Spell endif syn keyword nroffTodo TODO XXX FIXME contained @@ -198,7 +198,7 @@ syn keyword nroffTodo TODO XXX FIXME con " hi def link nroffEscChar nroffSpecialChar -hi def link nroffEscCharAr nroffSpecialChar +hi def link nroffEscCharArg nroffSpecialChar hi def link nroffSpecialChar SpecialChar hi def link nroffSpace Delimiter @@ -211,7 +211,7 @@ hi def link nroffEscPar nroffEscape hi def link nroffEscRegPar nroffEscape hi def link nroffEscArg nroffEscape hi def link nroffSize nroffEscape -hi def link nroffEscape Preproc +hi def link nroffEscape PreProc hi def link nroffIgnore Comment hi def link nroffComment Comment diff --git a/runtime/syntax/sshconfig.vim b/runtime/syntax/sshconfig.vim --- a/runtime/syntax/sshconfig.vim +++ b/runtime/syntax/sshconfig.vim @@ -1,14 +1,15 @@ " Vim syntax file " Language: OpenSSH client configuration file (ssh_config) " Author: David Necas (Yeti) -" Maintainer: Dominik Fischer +" Maintainer: Jakub Jelen +" Previous Maintainer: Dominik Fischer " Contributor: Leonard Ehrenfried " Contributor: Karsten Hopp " Contributor: Dean, Adam Kenneth -" Last Change: 2020 Feb 12 +" Last Change: 2021 Mar 29 " Added RemoteCommand from pull request #4809 " Included additional keywords from Martin. -" SSH Version: 7.4p1 +" SSH Version: 8.5p1 " " Setup @@ -174,6 +175,7 @@ syn keyword sshconfigKeyword HostKeyAlgo syn keyword sshconfigKeyword HostKeyAlias syn keyword sshconfigKeyword HostName syn keyword sshconfigKeyword HostbasedAuthentication +syn keyword sshconfigKeyword HostbasedAcceptedAlgorithms syn keyword sshconfigKeyword HostbasedKeyTypes syn keyword sshconfigKeyword IPQoS syn keyword sshconfigKeyword IdentitiesOnly @@ -185,9 +187,11 @@ syn keyword sshconfigKeyword IPQoS syn keyword sshconfigKeyword KbdInteractiveAuthentication syn keyword sshconfigKeyword KbdInteractiveDevices syn keyword sshconfigKeyword KexAlgorithms +syn keyword sshconfigKeyword KnownHostsCommand syn keyword sshconfigKeyword LocalCommand syn keyword sshconfigKeyword LocalForward syn keyword sshconfigKeyword LogLevel +syn keyword sshconfigKeyword LogVerbose syn keyword sshconfigKeyword MACs syn keyword sshconfigKeyword Match syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost @@ -195,11 +199,13 @@ syn keyword sshconfigKeyword NumberOfPas syn keyword sshconfigKeyword PKCS11Provider syn keyword sshconfigKeyword PasswordAuthentication syn keyword sshconfigKeyword PermitLocalCommand +syn keyword sshconfigKeyword PermitRemoteOpen syn keyword sshconfigKeyword Port syn keyword sshconfigKeyword PreferredAuthentications syn keyword sshconfigKeyword ProxyCommand syn keyword sshconfigKeyword ProxyJump syn keyword sshconfigKeyword ProxyUseFDPass +syn keyword sshconfigKeyword PubkeyAcceptedAlgorithms syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes syn keyword sshconfigKeyword PubkeyAuthentication syn keyword sshconfigKeyword RekeyLimit diff --git a/runtime/syntax/sshdconfig.vim b/runtime/syntax/sshdconfig.vim --- a/runtime/syntax/sshdconfig.vim +++ b/runtime/syntax/sshdconfig.vim @@ -7,8 +7,8 @@ " Contributor: Leonard Ehrenfried " Contributor: Karsten Hopp " Originally: 2009-07-09 -" Last Change: 2020-10-20 -" SSH Version: 8.4p1 +" Last Change: 2021-03-29 +" SSH Version: 8.5p1 " " Setup @@ -195,6 +195,7 @@ syn keyword sshdconfigKeyword HostCertif syn keyword sshdconfigKeyword HostKey syn keyword sshdconfigKeyword HostKeyAgent syn keyword sshdconfigKeyword HostKeyAlgorithms +syn keyword sshdconfigKeyword HostbasedAcceptedAlgorithms syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes syn keyword sshdconfigKeyword HostbasedAuthentication syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly @@ -213,6 +214,7 @@ syn keyword sshdconfigKeyword KexAlgorit syn keyword sshdconfigKeyword KeyRegenerationInterval syn keyword sshdconfigKeyword ListenAddress syn keyword sshdconfigKeyword LogLevel +syn keyword sshdconfigKeyword LogVerbose syn keyword sshdconfigKeyword LoginGraceTime syn keyword sshdconfigKeyword MACs syn keyword sshdconfigKeyword Match @@ -220,6 +222,8 @@ syn keyword sshdconfigKeyword MaxAuthTri syn keyword sshdconfigKeyword MaxSessions syn keyword sshdconfigKeyword MaxStartups syn keyword sshdconfigKeyword PasswordAuthentication +syn keyword sshdconfigKeyword PerSourceMaxStartups +syn keyword sshdconfigKeyword PerSourceNetBlockSize syn keyword sshdconfigKeyword PermitBlacklistedKeys syn keyword sshdconfigKeyword PermitEmptyPasswords syn keyword sshdconfigKeyword PermitListen @@ -234,6 +238,7 @@ syn keyword sshdconfigKeyword Port syn keyword sshdconfigKeyword PrintLastLog syn keyword sshdconfigKeyword PrintMotd syn keyword sshdconfigKeyword Protocol +syn keyword sshdconfigKeyword PubkeyAcceptedAlgorithms syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes syn keyword sshdconfigKeyword PubkeyAuthentication syn keyword sshdconfigKeyword PubkeyAuthOptions diff --git a/runtime/syntax/sudoers.vim b/runtime/syntax/sudoers.vim --- a/runtime/syntax/sudoers.vim +++ b/runtime/syntax/sudoers.vim @@ -1,7 +1,8 @@ " Vim syntax file " Language: sudoers(5) configuration files +" Maintainer: Eisuke Kawashima ( e.kawaschima+vim AT gmail.com ) " Previous Maintainer: Nikolai Weibull -" Latest Revision: 2018-08-18 +" Latest Revision: 2021 Mar 15 " Recent Changes: Support for #include and #includedir. " Added many new options (Samuel D. Leslie) @@ -26,7 +27,7 @@ syn cluster sudoersCmndSpecList co syn keyword sudoersTodo contained TODO FIXME XXX NOTE syn region sudoersComment display oneline start='#' end='$' contains=sudoersTodo -syn region sudoersInclude display oneline start='#\(include\|includedir\)' end='$' +syn region sudoersInclude display oneline start='[#@]\%(include\|includedir\)\>' end='$' syn keyword sudoersAlias User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl syn keyword sudoersAlias Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl @@ -201,7 +202,7 @@ syn keyword sudoersBooleanParameter cont \ shell_noargs \ stay_setuid \ sudoedit_checkdir - \ sudoedit_fellow + \ sudoedit_follow \ syslog_pid \ targetpw \ tty_tickets