# HG changeset patch # User Christian Brabandt # Date 1710525603 -3600 # Node ID d50bdd93d1c8656363f355dadf1d527bf8cb6c1b # Parent 98d8ef6b57c9d4efa74472399e5b585638ec1bc9 runtime(vim): Update base-syntax, revert last change to vimUserFunc (#14202) Commit: https://github.com/vim/vim/commit/b4b3d7de2413bf277445ea724c9cbd5e6bf9a334 Author: dkearns Date: Sat Mar 16 04:53:53 2024 +1100 runtime(vim): Update base-syntax, revert last change to vimUserFunc (https://github.com/vim/vim/issues/14202) Fix highlighting of ":echo (expr)" (broken in commit 61887b3) by re-enabling the original fix for https://github.com/vim/vim/issues/9987. Addresses https://github.com/vim/vim/pull/14199#issuecomment-1999732062. This will be fixed more generally when there is context-sensitive matching for commands and functions. Signed-off-by: Doug Kearns Signed-off-by: Christian Brabandt diff --git a/runtime/syntax/testdir/dumps/vim_ex_echo_99.dump b/runtime/syntax/testdir/dumps/vim_ex_echo_99.dump --- a/runtime/syntax/testdir/dumps/vim_ex_echo_99.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_echo_99.dump @@ -13,7 +13,7 @@ |l+0#af5f00255&|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|'+0#e000002&|e|n|d|'|:+0#0000000&| |1+0#e000002&|2|3|}+0#e000e06&| +0#0000000&@52 @75 |i+0#af5f00255&|f| +0#0000000&|1+0#e000002&|2|3| +0#0000000&@68 -@8|e|c|h|o| |(+0#e000e06&|f+0#00e0e07&|o@1|.+0#af5f00255&|e+0#00e0e07&|n|d|)+0#e000e06&| +0#0000000&@52 +@8|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|f+0#00e0e07&|o@1|.+0#af5f00255&|e+0#00e0e07&|n|d|)+0#e000e06&| +0#0000000&@52 |e+0#af5f00255&|l|s|e| +0#0000000&@70 @8|e+0#af5f00255&|c|h|o| +0#0000000&|'+0#e000002&|b|a|r|'| +0#0000000&@56 >e+0#af5f00255&|n|d|i|f| +0#0000000&@69 diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -585,8 +585,10 @@ syn case match " User Function Highlighting: {{{2 " (following Gautam Iyer's suggestion) " ========================== -syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute -syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\" contains=vimNotation +syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute +syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\" contains=vimNotation +syn keyword vimFuncEcho contained ec ech echo + " User Command Highlighting: {{{2 syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'