runtime(vim): Update base-syntax, match OR operator in :echo and :execute
Don't match the OR operator in expressions as a trailing bar.
closes: #17533
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 0021b74..6b91ce7 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 <dougkearns@gmail.com>
-" Last Change: 2025 Jun 20
+" Last Change: 2025 Jun 23
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
@@ -1280,8 +1280,12 @@
\ start="\<echoc\%[onsole]\>"
\ start="\<echon\>"
\ start="\<echow\%[indow]\>"
- \ skip=+\\|\|\n\s*\\\|\n\s*"\\ +
- \ matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
+ \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+
+ \ end="\ze|"
+ \ excludenl end="$"
+ \ nextgroup=vimCmdSep
+ \ contains=@vimContinue,@vimExprList
+ \ transparent
syn match vimEchohl "\<echohl\=\>" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchohlNone
syn case ignore
@@ -1290,7 +1294,15 @@
syn cluster vimEcho contains=vimEcho,vimEchohl
-syn region vimExecute matchgroup=vimCommand start="\<exe\%[cute]\>" skip=+\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
+syn region vimExecute
+ \ matchgroup=vimCommand
+ \ start="\<exe\%[cute]\>"
+ \ skip=+\\|\|||\|\n\s*\%(\\\|["#]\\ \)+
+ \ end="\ze|"
+ \ excludenl end="$"
+ \ nextgroup=vimCmdSep
+ \ contains=@vimContinue,@vimExprList
+ \ transparent
" Filter: {{{2
" ======