runtime(vim): Update base-syntax, fix is/isnot operator matching

Commit: 
https://github.com/vim/vim/commit/8dec6c2e6c2b5157334398e2e6ab7daa91999d80
Author: Doug Kearns <dougkea...@gmail.com>
Date:   Sun Jan 19 14:02:06 2025 +0100

    runtime(vim): Update base-syntax, fix is/isnot operator matching
    
    - Match is? and isnot? operators.
    - Limit other comparison operators to one match modifier rather than
      two.
    
    closes: #16482
    
    Signed-off-by: Doug Kearns <dougkea...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/generator/vim.vim.base 
b/runtime/syntax/generator/vim.vim.base
index b3bc5ca6f..23e34235a 100644
--- a/runtime/syntax/generator/vim.vim.base
+++ b/runtime/syntax/generator/vim.vim.base
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkea...@gmail.com>
-" Last Change:    2025 Jan 09
+" Last Change:    2025 Jan 19
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -192,13 +192,13 @@ Vim9 syn keyword vim9Boolean      true false
 " Numbers {{{2
 " =======
 syn case ignore
-syn match      vimNumber       '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' 
skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0b[01]\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0o\=\o\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0x\x\+'                      skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0z\>'                        skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*'    
skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\%(^\|\A\)\zs#\x\{6}'          skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
+syn match      vimNumber       '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' 
skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0b[01]\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0o\=\o\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0x\x\+'                      skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0z\>'                        skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*'    
skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\%(^\|\A\)\zs#\x\{6}'          skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
 syn case match
 
 " All vimCommands are contained by vimIsCommand. {{{2
@@ -281,10 +281,12 @@ syn keyword vimAugroupKey contained aug[roup]  skipwhite 
nextgroup=vimAugroupBan
 " Operators: {{{2
 " =========
 syn cluster    vimOperGroup    
contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar,vimBoolean,vimNull
-syn match      vimOper " \@<!!"                                skipwhite 
nextgroup=vimString,vimSpecFile
-syn match      vimOper "||\|&&\|[-+*/%.]"                      skipwhite 
nextgroup=vimString,vimSpecFile
-syn match      vimOper 
"\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\|!\~#\)[?#]\{0,2}"    skipwhite 
nextgroup=vimString,vimSpecFile
-syn match      vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>"                 
skipwhite nextgroup=vimString,vimSpecFile
+syn match      vimOper " \@<!!"                        skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "||\|&&\|[-+*/%.]"              skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "="                     skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "\%#=1\%(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\)[?#]\="        
skipwhite nextgroup=vimString,vimSpecFile
+syn match      vimOper "\<is\%(not\)\=\>"              skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "\<is\%(not\)\=[?#]"            skipwhite 
nextgroup=vimString,vimSpecFile
 syn region     vimOperParen    matchgroup=vimParenSep  start="(" end=")" 
contains=@vimOperGroup
 syn region     vimOperParen    matchgroup=vimSep               start="#\={" 
end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
diff --git a/runtime/syntax/testdir/dumps/vim_expr_01.dump 
b/runtime/syntax/testdir/dumps/vim_expr_01.dump
index 7dfc6d4ec..ca2875d09 100644
--- a/runtime/syntax/testdir/dumps/vim_expr_01.dump
+++ b/runtime/syntax/testdir/dumps/vim_expr_01.dump
@@ -17,4 +17,4 @@
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|'+0#e000002&|f|o@1|'+0#e000e06&@1|'+0#e000002&| +0#0000000&@62
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|'+0#e000002&|f|o@1|'+0#e000e06&@1|b+0#e000002&|a|r|'| +0#0000000&@59
 @75
-@57|1|5|,|1| @9|1|4|%| 
+@57|1|5|,|1| @10|9|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_expr_02.dump 
b/runtime/syntax/testdir/dumps/vim_expr_02.dump
index 37e5b0411..da1a0d920 100644
--- a/runtime/syntax/testdir/dumps/vim_expr_02.dump
+++ b/runtime/syntax/testdir/dumps/vim_expr_02.dump
@@ -17,4 +17,4 @@
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|$+0#e000002&|'|'+0#e000e06&@1|f+0#e000002&|o@1|'| +0#0000000&@61
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|$+0#e000002&|'|f|o@1|'+0#e000e06&@1|'+0#e000002&| +0#0000000&@61
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|$+0#e000002&|'|f|o@1|'+0#e000e06&@1|b+0#e000002&|a|r|'| 
+0#0000000&@58
-@57|3|2|,|0|-|1| @7|3|6|%| 
+@57|3|2|,|0|-|1| @7|2|3|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_expr_03.dump 
b/runtime/syntax/testdir/dumps/vim_expr_03.dump
index 178468d47..74655c8e7 100644
--- a/runtime/syntax/testdir/dumps/vim_expr_03.dump
+++ b/runtime/syntax/testdir/dumps/vim_expr_03.dump
@@ -17,4 +17,4 @@
 |e+0#af5f00255&|c|h|o| +0#0000000&@1|0+0#e000002&|o|3|7@1| +0#0000000&@63
 |e+0#af5f00255&|c|h|o| +0#0000000&@1|0+0#e000002&|O|3|7@1| +0#0000000&@63
 |e+0#af5f00255&|c|h|o| +0#0000000&|-+0#af5f00255&|0+0#e000002&|3|7@1| 
+0#0000000&@64
-@57|5|0|,|1| @9|6|1|%| 
+@57|5|0|,|1| @9|3|9|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_expr_04.dump 
b/runtime/syntax/testdir/dumps/vim_expr_04.dump
index 1a054e6cd..c76061303 100644
--- a/runtime/syntax/testdir/dumps/vim_expr_04.dump
+++ b/runtime/syntax/testdir/dumps/vim_expr_04.dump
@@ -17,4 +17,4 @@
 |e+0#af5f00255&|c|h|o| +0#0000000&|1+0#e000002&|.|0|E|-|6| +0#0000000&@63
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|-+0#af5f00255&|3+0#e000002&|.|1|4|1|6|e|+|8@1| +0#0000000&@58
 @75
-@57|6|8|,|1| @9|8|6|%| 
+@57|6|8|,|1| @9|5@1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_expr_05.dump 
b/runtime/syntax/testdir/dumps/vim_expr_05.dump
index 2c0a189bb..53f62dc5e 100644
--- a/runtime/syntax/testdir/dumps/vim_expr_05.dump
+++ b/runtime/syntax/testdir/dumps/vim_expr_05.dump
@@ -5,16 +5,16 @@
 |e+0#af5f00255&|c|h|o| +0#0000000&|0+0#e000002&|z|F@1|0@1|.|E|D|0|1|.|5|D|A|F| 
+0#0000000&@53
 >e+0#af5f00255&|c|h|o| 
 >+0#0000000&|0+0#e000002&|z|F@1|.|0@1|.|E|D|.|0|1|.|5|D|.|A|F| +0#0000000&@50
 @75
+|"+0#0000e05&| |O|p|e|r|a|t|o|r|s| +0#0000000&@63
 @75
-|"+0#0000e05&| |I|s@1|u|e| |#|1|6|2@1|1| |(|v|i|m|S|t|r|i|n|g| |b|e|c|o|m|e|s| 
|v|i|m|V|a|r| |w|h|e|n| |p|r|e|c|e|d|e|d| |b|y| |!|)| +0#0000000&@14
-|l+0#af5f00255&|e|t| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&|=+0#af5f00255&| 
+0#0000000&|!+0#af5f00255&|'+0#e000002&|g|:|b|a|r|'|-+0#af5f00255&|>|e+0#00e0e07&|x|i|s|t|s|(+0#e000e06&|)|
 +0#0000000&@46
-@75
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|8|6|,|1| @9|B|o|t| 
+|"+0#0000e05&| |C|o|m|p|a|r|i|s|o|n| |-| |u|s|i|n|g| |'|i|g|n|o|r|c|a|s|e|'| 
+0#0000000&@42
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|=+0#af5f00255&@1| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|!+0#af5f00255&|=| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&| +0#0000000&@5|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&|=| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|<+0#af5f00255&| +0#0000000&@5|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|<+0#af5f00255&|=| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|=+0#af5f00255&|~| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|!+0#af5f00255&|~| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+@57|8|6|,|1| @9|7|1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_expr_06.dump 
b/runtime/syntax/testdir/dumps/vim_expr_06.dump
new file mode 100644
index 000000000..9c58105cb
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/vim_expr_06.dump
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s|n|o|t| +0#0000000&@1|e+0#00e0e07&|x|p|r| 
+0#0000000&@53
+@75
+|"+0#0000e05&| |C|o|m|p|a|r|i|s|o|n| |-| |m|a|t|c|h| |c|a|s|e| +0#0000000&@49
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|=+0#af5f00255&@1|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+>e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|!+0#af5f00255&|=|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&|#| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&|=|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|<+0#af5f00255&|#| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|<+0#af5f00255&|=|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|=+0#af5f00255&|~|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|!+0#af5f00255&|~|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s|#| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s|n|o|t|#| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&@53
+@75
+|"+0#0000e05&| |C|o|m|p|a|r|i|s|o|n| |-| |i|g|n|o|r|e| |c|a|s|e| +0#0000000&@48
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|=+0#af5f00255&@1|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|!+0#af5f00255&|=|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&|?| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+@57|1|0|4|,|1| @8|8|7|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_expr_07.dump 
b/runtime/syntax/testdir/dumps/vim_expr_07.dump
new file mode 100644
index 000000000..c32edfd84
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/vim_expr_07.dump
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&|?| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|>+0#af5f00255&|=|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|<+0#af5f00255&|?| +0#0000000&@4|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|<+0#af5f00255&|=|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|=+0#af5f00255&|~|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+>e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|!+0#af5f00255&|~|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s|?| +0#0000000&@3|e+0#00e0e07&|x|p|r| +0#0000000&@53
+|e+0#af5f00255&|c|h|o| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&|i+0#af5f00255&|s|n|o|t|?| +0#0000000&|e+0#00e0e07&|x|p|r| 
+0#0000000&@53
+@75
+|"+0#0000e05&| |U|n|r|e|p|o|r|t|e|d| |i|s@1|u|e| |(|i|n|c|o|r@1|e|c|t|l|y| 
|m|a|t|c|h|e|s| |a|s| |"+0#e000002&|e|c|h|o| |v|i|m|N|u|m|b|e|r| 
|*|v|i|m|C|o|m@1|a|n|d|*| |v|i|m
+|N|u|m|b|e|r|"|)+0#0000e05&| +0#0000000&@66
+|e+0#af5f00255&|c|h|o| +0#0000000&|4+0#e000002&|2| 
+0#0000000&|i+0#af5f00255&|s| +0#0000000&|4+0#e000002&|2| +0#0000000&@61
+@75
+|"+0#0000e05&| |I|s@1|u|e| |#|1|6|2@1|1| |(|v|i|m|S|t|r|i|n|g| |b|e|c|o|m|e|s| 
|v|i|m|V|a|r| |w|h|e|n| |p|r|e|c|e|d|e|d| |b|y| |!|)| +0#0000000&@14
+|l+0#af5f00255&|e|t| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&|=+0#af5f00255&| 
+0#0000000&|!+0#af5f00255&|'+0#e000002&|g|:|b|a|r|'|-+0#af5f00255&|>|e+0#00e0e07&|x|i|s|t|s|(+0#e000e06&|)|
 +0#0000000&@46
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|2@1|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/input/vim_expr.vim 
b/runtime/syntax/testdir/input/vim_expr.vim
index 316f462ca..903db92db 100644
--- a/runtime/syntax/testdir/input/vim_expr.vim
+++ b/runtime/syntax/testdir/input/vim_expr.vim
@@ -85,6 +85,46 @@ echo 0zFF00ED015DAF
 echo 0zFF00.ED01.5DAF
 echo 0zFF.00.ED.01.5D.AF
 
+" Operators
+
+" Comparison - using 'ignorcase'
+echo expr ==     expr
+echo expr !=     expr
+echo expr >      expr
+echo expr >=     expr
+echo expr <      expr
+echo expr <=     expr
+echo expr =~     expr
+echo expr !~     expr
+echo expr is     expr
+echo expr isnot  expr
+
+" Comparison - match case
+echo expr ==#    expr
+echo expr !=#    expr
+echo expr >#     expr
+echo expr >=#    expr
+echo expr <#     expr
+echo expr <=#    expr
+echo expr =~#    expr
+echo expr !~#    expr
+echo expr is#    expr
+echo expr isnot# expr
+
+" Comparison - ignore case
+echo expr ==?    expr
+echo expr !=?    expr
+echo expr >?     expr
+echo expr >=?    expr
+echo expr <?     expr
+echo expr <=?    expr
+echo expr =~?    expr
+echo expr !~?    expr
+echo expr is?    expr
+echo expr isnot? expr
+
+" Unreported issue (incorrectly matches as "echo vimNumber *vimCommand* 
vimNumber")
+echo 42 is 42
 
 " Issue #16221 (vimString becomes vimVar when preceded by !)
 let bar = !'g:bar'->exists()
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 04fc8c1fa..fc69a4357 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkea...@gmail.com>
-" Last Change:    2025 Jan 09
+" Last Change:    2025 Jan 19
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -95,21 +95,21 @@ syn keyword vimGroup contained      Comment Constant String 
Character Number Boolean
 
 " Default highlighting groups {{{2
 " GEN_SYN_VIM: vimHLGroup, START_STR='syn keyword vimHLGroup contained', 
END_STR=''
-syn keyword vimHLGroup contained ErrorMsg IncSearch ModeMsg NonText StatusLine 
StatusLineNC EndOfBuffer VertSplit VisualNOS DiffText PmenuSbar TabLineSel 
TabLineFill Cursor lCursor QuickFixLine CursorLineSign CursorLineFold CurSearch 
PmenuKind PmenuKindSel PmenuMatch PmenuMatchSel PmenuExtra PmenuExtraSel 
ComplMatchIns Normal Directory LineNr CursorLineNr MoreMsg Question Search 
SpellBad SpellCap SpellRare SpellLocal PmenuThumb Pmenu PmenuSel SpecialKey 
Title WarningMsg WildMenu Folded FoldColumn SignColumn Visual DiffAdd 
DiffChange DiffDelete TabLine CursorColumn CursorLine ColorColumn MatchParen 
StatusLineTerm StatusLineTermNC ToolbarLine ToolbarButton Menu Tooltip 
Scrollbar CursorIM LineNrAbove LineNrBelow
+syn keyword vimHLGroup contained ErrorMsg IncSearch ModeMsg NonText StatusLine 
StatusLineNC EndOfBuffer VertSplit VisualNOS DiffText PmenuSbar TabLineSel 
TabLineFill Cursor lCursor QuickFixLine CursorLineSign CursorLineFold CurSearch 
PmenuKind PmenuKindSel PmenuMatch PmenuMatchSel PmenuExtra PmenuExtraSel Normal 
Directory LineNr CursorLineNr MoreMsg Question Search SpellBad SpellCap 
SpellRare SpellLocal PmenuThumb Pmenu PmenuSel SpecialKey Title WarningMsg 
WildMenu Folded FoldColumn SignColumn Visual DiffAdd DiffChange DiffDelete 
TabLine CursorColumn CursorLine ColorColumn MatchParen StatusLineTerm 
StatusLineTermNC ToolbarLine ToolbarButton Menu Tooltip Scrollbar CursorIM 
LineNrAbove LineNrBelow
 syn match vimHLGroup contained "\<Conceal\>"
 syn case match
 
 " Function Names {{{2
 " GEN_SYN_VIM: vimFuncName, START_STR='syn keyword vimFuncName contained', 
END_STR=''
-syn keyword vimFuncName contained abs acos add and append appendbufline argc 
argidx arglistid argv asin assert_beeps assert_equal assert_equalfile 
assert_exception assert_fails assert_false assert_inrange assert_match 
assert_nobeep assert_notequal assert_notmatch assert_report assert_true atan 
atan2 autocmd_add autocmd_delete autocmd_get balloon_gettext balloon_show 
balloon_split base64_decode base64_encode bindtextdomain blob2list browse 
browsedir bufadd bufexists buflisted bufload bufloaded bufname bufnr bufwinid 
bufwinnr byte2line byteidx byteidxcomp call ceil ch_canread ch_close 
ch_close_in ch_evalexpr ch_evalraw ch_getbufnr ch_getjob ch_info ch_log 
ch_logfile ch_open ch_read ch_readblob ch_readraw ch_sendexpr ch_sendraw 
ch_setoptions ch_status changenr char2nr
-syn keyword vimFuncName contained charclass charcol charidx chdir cindent 
clearmatches col complete complete_add complete_check complete_info confirm 
copy cos cosh count cscope_connection cursor debugbreak deepcopy delete 
deletebufline did_filetype diff diff_filler diff_hlID digraph_get 
digraph_getlist digraph_set digraph_setlist echoraw empty environ err_teapot 
escape eval eventhandler executable execute exepath exists exists_compiled exp 
expand expandcmd extend extendnew feedkeys filecopy filereadable filewritable 
filter finddir findfile flatten flattennew float2nr floor fmod fnameescape 
fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreach 
foreground fullcommand funcref function garbagecollect get getbufinfo 
getbufline getbufoneline
+syn keyword vimFuncName contained abs acos add and append appendbufline argc 
argidx arglistid argv asin assert_beeps assert_equal assert_equalfile 
assert_exception assert_fails assert_false assert_inrange assert_match 
assert_nobeep assert_notequal assert_notmatch assert_report assert_true atan 
atan2 autocmd_add autocmd_delete autocmd_get balloon_gettext balloon_show 
balloon_split base64_decode base64_encode bindtextdomain blob2list blob2str 
browse browsedir bufadd bufexists buflisted bufload bufloaded bufname bufnr 
bufwinid bufwinnr byte2line byteidx byteidxcomp call ceil ch_canread ch_close 
ch_close_in ch_evalexpr ch_evalraw ch_getbufnr ch_getjob ch_info ch_log 
ch_logfile ch_open ch_read ch_readblob ch_readraw ch_sendexpr ch_sendraw 
ch_setoptions ch_status changenr
+syn keyword vimFuncName contained char2nr charclass charcol charidx chdir 
cindent clearmatches col complete complete_add complete_check complete_info 
confirm copy cos cosh count cscope_connection cursor debugbreak deepcopy delete 
deletebufline did_filetype diff diff_filler diff_hlID digraph_get 
digraph_getlist digraph_set digraph_setlist echoraw empty environ err_teapot 
escape eval eventhandler executable execute exepath exists exists_compiled exp 
expand expandcmd extend extendnew feedkeys filecopy filereadable filewritable 
filter finddir findfile flatten flattennew float2nr floor fmod fnameescape 
fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreach 
foreground fullcommand funcref function garbagecollect get getbufinfo 
getbufline getbufoneline
 syn keyword vimFuncName contained getbufvar getcellpixels getcellwidths 
getchangelist getchar getcharmod getcharpos getcharsearch getcharstr 
getcmdcomplpat getcmdcompltype getcmdline getcmdpos getcmdprompt 
getcmdscreenpos getcmdtype getcmdwintype getcompletion getcurpos 
getcursorcharpos getcwd getenv getfontname getfperm getfsize getftime getftype 
getimstatus getjumplist getline getloclist getmarklist getmatches getmousepos 
getmouseshape getpid getpos getqflist getreg getreginfo getregion getregionpos 
getregtype getscriptinfo getstacktrace gettabinfo gettabvar gettabwinvar 
gettagstack gettext getwininfo getwinpos getwinposx getwinposy getwinvar glob 
glob2regpat globpath has has_key haslocaldir hasmapto histadd histdel histget 
histnr hlID hlexists hlget hlset hostname
 syn keyword vimFuncName contained iconv id indent index indexof input 
inputdialog inputlist inputrestore inputsave inputsecret insert instanceof 
interrupt invert isabsolutepath isdirectory isinf islocked isnan items 
job_getchannel job_info job_setoptions job_start job_status job_stop join 
js_decode js_encode json_decode json_encode keys keytrans len libcall libcallnr 
line line2byte lispindent list2blob list2str listener_add listener_flush 
listener_remove localtime log log10 luaeval map maparg mapcheck maplist mapnew 
mapset match matchadd matchaddpos matcharg matchbufline matchdelete matchend 
matchfuzzy matchfuzzypos matchlist matchstr matchstrlist matchstrpos max 
menu_info min mkdir mode mzeval nextnonblank nr2char or pathshorten perleval 
popup_atcursor popup_beval
 syn keyword vimFuncName contained popup_clear popup_close popup_create 
popup_dialog popup_filter_menu popup_filter_yesno popup_findecho popup_findinfo 
popup_findpreview popup_getoptions popup_getpos popup_hide popup_list 
popup_locate popup_menu popup_move popup_notification popup_setbuf 
popup_setoptions popup_settext popup_show pow prevnonblank printf 
prompt_getprompt prompt_setcallback prompt_setinterrupt prompt_setprompt 
prop_add prop_add_list prop_clear prop_find prop_list prop_remove prop_type_add 
prop_type_change prop_type_delete prop_type_get prop_type_list pum_getpos 
pumvisible py3eval pyeval pyxeval rand range readblob readdir readdirex 
readfile reduce reg_executing reg_recording reltime reltimefloat reltimestr 
remote_expr remote_foreground remote_peek
 syn keyword vimFuncName contained remote_read remote_send remote_startserver 
remove rename repeat resolve reverse round rubyeval screenattr screenchar 
screenchars screencol screenpos screenrow screenstring search searchcount 
searchdecl searchpair searchpairpos searchpos server2client serverlist 
setbufline setbufvar setcellwidths setcharpos setcharsearch setcmdline 
setcmdpos setcursorcharpos setenv setfperm setline setloclist setmatches setpos 
setqflist setreg settabvar settabwinvar settagstack setwinvar sha256 
shellescape shiftwidth sign_define sign_getdefined sign_getplaced sign_jump 
sign_place sign_placelist sign_undefine sign_unplace sign_unplacelist simplify 
sin sinh slice sort sound_clear sound_playevent sound_playfile sound_stop 
soundfold spellbadword spellsuggest
-syn keyword vimFuncName contained split sqrt srand state str2float str2list 
str2nr strcharlen strcharpart strchars strdisplaywidth strftime strgetchar 
stridx string strlen strpart strptime strridx strtrans strutf16len strwidth 
submatch substitute swapfilelist swapinfo swapname synID synIDattr synIDtrans 
synconcealed synstack system systemlist tabpagebuflist tabpagenr tabpagewinnr 
tagfiles taglist tan tanh tempname term_dumpdiff term_dumpload term_dumpwrite 
term_getaltscreen term_getansicolors term_getattr term_getcursor term_getjob 
term_getline term_getscrolled term_getsize term_getstatus term_gettitle 
term_gettty term_list term_scrape term_sendkeys term_setansicolors term_setapi 
term_setkill term_setrestore term_setsize term_start term_wait terminalprops 
test_alloc_fail
-syn keyword vimFuncName contained test_autochdir test_feedinput 
test_garbagecollect_now test_garbagecollect_soon test_getvalue test_gui_event 
test_ignore_error test_mswin_event test_null_blob test_null_channel 
test_null_dict test_null_function test_null_job test_null_list 
test_null_partial test_null_string test_option_not_set test_override 
test_refcount test_setmouse test_settime test_srand_seed test_unknown test_void 
timer_info timer_pause timer_start timer_stop timer_stopall tolower toupper tr 
trim trunc type typename undofile undotree uniq utf16idx values virtcol 
virtcol2col visualmode wildmenumode win_execute win_findbuf win_getid 
win_gettype win_gotoid win_id2tabwin win_id2win win_move_separator 
win_move_statusline win_screenpos win_splitmove winbufnr wincol
-syn keyword vimFuncName contained windowsversion winheight winlayout winline 
winnr winrestcmd winrestview winsaveview winwidth wordcount writefile xor
+syn keyword vimFuncName contained split sqrt srand state str2blob str2float 
str2list str2nr strcharlen strcharpart strchars strdisplaywidth strftime 
strgetchar stridx string strlen strpart strptime strridx strtrans strutf16len 
strwidth submatch substitute swapfilelist swapinfo swapname synID synIDattr 
synIDtrans synconcealed synstack system systemlist tabpagebuflist tabpagenr 
tabpagewinnr tagfiles taglist tan tanh tempname term_dumpdiff term_dumpload 
term_dumpwrite term_getaltscreen term_getansicolors term_getattr term_getcursor 
term_getjob term_getline term_getscrolled term_getsize term_getstatus 
term_gettitle term_gettty term_list term_scrape term_sendkeys 
term_setansicolors term_setapi term_setkill term_setrestore term_setsize 
term_start term_wait terminalprops
+syn keyword vimFuncName contained test_alloc_fail test_autochdir 
test_feedinput test_garbagecollect_now test_garbagecollect_soon test_getvalue 
test_gui_event test_ignore_error test_mswin_event test_null_blob 
test_null_channel test_null_dict test_null_function test_null_job 
test_null_list test_null_partial test_null_string test_option_not_set 
test_override test_refcount test_setmouse test_settime test_srand_seed 
test_unknown test_void timer_info timer_pause timer_start timer_stop 
timer_stopall tolower toupper tr trim trunc type typename undofile undotree 
uniq utf16idx values virtcol virtcol2col visualmode wildmenumode win_execute 
win_findbuf win_getid win_gettype win_gotoid win_id2tabwin win_id2win 
win_move_separator win_move_statusline win_screenpos win_splitmove
+syn keyword vimFuncName contained winbufnr wincol windowsversion winheight 
winlayout winline winnr winrestcmd winrestview winsaveview winwidth wordcount 
writefile xor
 
 "--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
@@ -230,13 +230,13 @@ Vim9 syn keyword vim9Boolean      true false
 " Numbers {{{2
 " =======
 syn case ignore
-syn match      vimNumber       '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' 
skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0b[01]\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0o\=\o\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0x\x\+'                      skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0z\>'                        skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*'    
skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
-syn match      vimNumber       '\%(^\|\A\)\zs#\x\{6}'          skipwhite 
nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
+syn match      vimNumber       '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' 
skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0b[01]\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0o\=\o\+'                    skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0x\x\+'                      skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0z\>'                        skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*'    
skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment
+syn match      vimNumber       '\%(^\|\A\)\zs#\x\{6}'          skipwhite 
nextgroup=vimGlobal,vimSubst1,@vimComment
 syn case match
 
 " All vimCommands are contained by vimIsCommand. {{{2
@@ -319,10 +319,12 @@ syn keyword vimAugroupKey contained aug[roup]  skipwhite 
nextgroup=vimAugroupBan
 " Operators: {{{2
 " =========
 syn cluster    vimOperGroup    
contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar,vimBoolean,vimNull
-syn match      vimOper " \@<!!"                                skipwhite 
nextgroup=vimString,vimSpecFile
-syn match      vimOper "||\|&&\|[-+*/%.]"                      skipwhite 
nextgroup=vimString,vimSpecFile
-syn match      vimOper 
"\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\|!\~#\)[?#]\{0,2}"    skipwhite 
nextgroup=vimString,vimSpecFile
-syn match      vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>"                 
skipwhite nextgroup=vimString,vimSpecFile
+syn match      vimOper " \@<!!"                        skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "||\|&&\|[-+*/%.]"              skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "="                     skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "\%#=1\%(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\)[?#]\="        
skipwhite nextgroup=vimString,vimSpecFile
+syn match      vimOper "\<is\%(not\)\=\>"              skipwhite 
nextgroup=vimString,vimSpecFile
+syn match      vimOper "\<is\%(not\)\=[?#]"            skipwhite 
nextgroup=vimString,vimSpecFile
 syn region     vimOperParen    matchgroup=vimParenSep  start="(" end=")" 
contains=@vimOperGroup
 syn region     vimOperParen    matchgroup=vimSep               start="#\={" 
end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1tZV8r-004xRv-0m%40256bit.org.

Raspunde prin e-mail lui