runtime(vim): Update base-syntax, fix :behave highlighting
Commit:
https://github.com/vim/vim/commit/fe6d5b0ae47e8a178c156be7189903c91b765584
Author: Doug Kearns <[email protected]>
Date: Wed Feb 14 21:17:43 2024 +0100
runtime(vim): Update base-syntax, fix :behave highlighting
closes: https://github.com/vim/vim/issues/14036
Signed-off-by: Doug Kearns <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/syntax/generator/vim.vim.base
b/runtime/syntax/generator/vim.vim.base
index 5ef471dc4..37bc03a5c 100644
--- a/runtime/syntax/generator/vim.vim.base
+++ b/runtime/syntax/generator/vim.vim.base
@@ -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 " \@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
index 000000000..cd88b7537
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/vim_ex_behave_00.dump
@@ -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
index 000000000..a0a0e188c
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/vim_ex_behave_99.dump
@@ -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
index 000000000..a1e99f0d8
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim_ex_behave.vim
@@ -0,0 +1,7 @@
+" Vim behave command
+
+behave mswin
+behave xterm
+
+behave! mswin
+behave! xterm
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 8a63898cf..a69dedc66 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -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 " \@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
--
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1raLtL-00F6tQ-OC%40256bit.org.