]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update base-syntax, fix :behave highlighting
authorDoug Kearns <dougkearns@gmail.com>
Wed, 14 Feb 2024 20:17:43 +0000 (21:17 +0100)
committerChristian Brabandt <cb@256bit.org>
Wed, 14 Feb 2024 20:17:43 +0000 (21:17 +0100)
closes: #14036

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/syntax/generator/vim.vim.base
runtime/syntax/testdir/dumps/vim_ex_behave_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_behave_99.dump [new file with mode: 0644]
runtime/syntax/testdir/input/vim_ex_behave.vim [new file with mode: 0644]
runtime/syntax/vim.vim

index 5ef471dc493a71361e8ddd7d0a429d7cedc09522..37bc03a5c63e65c25dc7a67d3dac54026f01ca5e 100644 (file)
@@ -185,12 +185,14 @@ endif
 
 " Behave! {{{2
 " =======
-syn match   vimBehave  "\<be\%[have]\>" skipwhite nextgroup=vimBehaveModel,vimBehaveError
-syn keyword vimBehaveModel contained   mswin   xterm
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror")
  syn match   vimBehaveError contained  "[^ ]\+"
 endif
+syn match   vimBehave  "\<be\%[have]\>"        nextgroup=vimBehaveBang,vimBehaveModel,vimBehaveError skipwhite
+syn match   vimBehaveBang      contained       "\a\@1<=!" nextgroup=vimBehaveModel skipwhite
+syn keyword vimBehaveModel     contained       mswin   xterm
 
+hi def link vimBehaveBang vimBang
 " Filetypes {{{2
 " =========
 syn match   vimFiletype        "\<filet\%[ype]\(\s\+\I\i*\)*"  skipwhite contains=vimFTCmd,vimFTOption,vimFTError
@@ -929,6 +931,7 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimAutoCmdMod     Special
  hi def link vimAutoSet        vimCommand
  hi def link vimBang   vimOper
+  hi def link vimBehaveBang    vimBang
  hi def link vimBehaveModel    vimBehave
  hi def link vimBehave vimCommand
  hi def link vimBracket        Delimiter
diff --git a/runtime/syntax/testdir/dumps/vim_ex_behave_00.dump b/runtime/syntax/testdir/dumps/vim_ex_behave_00.dump
new file mode 100644 (file)
index 0000000..cd88b75
--- /dev/null
@@ -0,0 +1,20 @@
+>"+0#0000e05#ffffff0| |V|i|m| |b|e|h|a|v|e| |c|o|m@1|a|n|d| +0#0000000&@54
+@75
+|b+0#af5f00255&|e|h|a|v|e| +0#0000000&|m+0#af5f00255&|s|w|i|n| +0#0000000&@62
+|b+0#af5f00255&|e|h|a|v|e| +0#0000000&|x+0#af5f00255&|t|e|r|m| +0#0000000&@62
+@75
+|b+0#af5f00255&|e|h|a|v|e|!| +0#0000000&|m+0#af5f00255&|s|w|i|n| +0#0000000&@61
+|b+0#af5f00255&|e|h|a|v|e|!| +0#0000000&|x+0#af5f00255&|t|e|r|m| +0#0000000&@61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|"+0#0000000&|i|n|p|u|t|/|v|i|m|_|e|x|_|b|e|h|a|v|e|.|v|i|m|"| |7|L|,| |7@1|B| @23|1|,|1| @10|A|l@1| 
diff --git a/runtime/syntax/testdir/dumps/vim_ex_behave_99.dump b/runtime/syntax/testdir/dumps/vim_ex_behave_99.dump
new file mode 100644 (file)
index 0000000..a0a0e18
--- /dev/null
@@ -0,0 +1,20 @@
+|"+0#0000e05#ffffff0| |V|i|m| |b|e|h|a|v|e| |c|o|m@1|a|n|d| +0#0000000&@54
+@75
+|b+0#af5f00255&|e|h|a|v|e| +0#0000000&|m+0#af5f00255&|s|w|i|n| +0#0000000&@62
+|b+0#af5f00255&|e|h|a|v|e| +0#0000000&|x+0#af5f00255&|t|e|r|m| +0#0000000&@62
+@75
+|b+0#af5f00255&|e|h|a|v|e|!| +0#0000000&|m+0#af5f00255&|s|w|i|n| +0#0000000&@61
+>b+0#af5f00255&|e|h|a|v|e|!| +0#0000000&|x+0#af5f00255&|t|e|r|m| +0#0000000&@61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|"+0#0000000&|i|n|p|u|t|/|v|i|m|_|e|x|_|b|e|h|a|v|e|.|v|i|m|"| |7|L|,| |7@1|B| @23|7|,|1| @10|A|l@1| 
diff --git a/runtime/syntax/testdir/input/vim_ex_behave.vim b/runtime/syntax/testdir/input/vim_ex_behave.vim
new file mode 100644 (file)
index 0000000..a1e99f0
--- /dev/null
@@ -0,0 +1,7 @@
+" Vim behave command
+
+behave mswin
+behave xterm
+
+behave! mswin
+behave! xterm
index 8a63898cf9d9e478e08d74193d41c6c9d74c6fe2..a69dedc66c3bb64f166200233a067493ab5b5e98 100644 (file)
@@ -227,12 +227,14 @@ endif
 
 " Behave! {{{2
 " =======
-syn match   vimBehave  "\<be\%[have]\>" skipwhite nextgroup=vimBehaveModel,vimBehaveError
-syn keyword vimBehaveModel contained   mswin   xterm
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror")
  syn match   vimBehaveError contained  "[^ ]\+"
 endif
+syn match   vimBehave  "\<be\%[have]\>"        nextgroup=vimBehaveBang,vimBehaveModel,vimBehaveError skipwhite
+syn match   vimBehaveBang      contained       "\a\@1<=!" nextgroup=vimBehaveModel skipwhite
+syn keyword vimBehaveModel     contained       mswin   xterm
 
+hi def link vimBehaveBang vimBang
 " Filetypes {{{2
 " =========
 syn match   vimFiletype        "\<filet\%[ype]\(\s\+\I\i*\)*"  skipwhite contains=vimFTCmd,vimFTOption,vimFTError
@@ -977,6 +979,7 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimAutoCmdMod     Special
  hi def link vimAutoSet        vimCommand
  hi def link vimBang   vimOper
+  hi def link vimBehaveBang    vimBang
  hi def link vimBehaveModel    vimBehave
  hi def link vimBehave vimCommand
  hi def link vimBracket        Delimiter