runtime(vim): Update base-syntax, improve function definition matching

Commit: 
https://github.com/vim/vim/commit/51289207f81772592a5a34f1576f2aeb7d5530b7
Author: Doug Kearns <dougkea...@gmail.com>
Date:   Wed Jun 11 21:16:14 2025 +0200

    runtime(vim): Update base-syntax, improve function definition matching
    
    - Fix highlighting of function names including /fu\%[nction]/ (E.g.,
      s:func(), foo.fu(), fu.func())
    - Match :delfunction argument.
    
    Reported by Aliaksei Budavei.
    
    closes: #17428
    
    Signed-off-by: Doug Kearns <dougkea...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/generator/gen_syntax_vim.vim 
b/runtime/syntax/generator/gen_syntax_vim.vim
index e42897f83..3a77637f6 100644
--- a/runtime/syntax/generator/gen_syntax_vim.vim
+++ b/runtime/syntax/generator/gen_syntax_vim.vim
@@ -1,7 +1,7 @@
 " Vim syntax file generator
 " Language:             Vim script
 " Maintainer:  Hirohito Higashi (h_east)
-" Last Change: 2025 Jun 01
+" Last Change: 2025 Jun 11
 
 let s:keepcpo= &cpo
 set cpo&vim
@@ -265,6 +265,7 @@ function s:get_vim_command_type(cmd_name)
                debuggreedy
                def
                delcommand
+               delfunction
                doautoall
                doautocmd
                echo
diff --git a/runtime/syntax/generator/vim.vim.base 
b/runtime/syntax/generator/vim.vim.base
index b94c5bed7..dbe2ab6ac 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 Jun 08
+" Last Change:    2025 Jun 11
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -233,7 +233,7 @@ syn match   vimNumber       
'\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*'    skipwhite nextgroup=@vi
 syn case match
 
 " All vimCommands are contained by vimIsCommand. {{{2
-syn cluster vimCmdList 
contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFor,vimFunction,vimFuncFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
+syn cluster vimCmdList 
contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
 syn cluster vim9CmdList        
contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
 syn match vimCmdSep    "\\@1<!|"       skipwhite 
nextgroup=@vimCmdList,vimSubst1,vimFunc
 syn match vimCmdSep    ":\+"   skipwhite nextgroup=@vimCmdList,vimSubst1
@@ -424,7 +424,7 @@ syn region  vimLambda       contained
       \ skip=+
\s*\%(\\|"\ \)+
       \ end="}" end="$"
       \ contains=@vimContinue,@vimExprList,vimLambdaParams
-syn match      vimLambdaParams contained       "\%({
\=\)\@1<=\_.\{-}\%(->\)\@=" nextgroup=vimLambdaOperator 
contains=@vimContinue,vimFuncParam
+syn match      vimLambdaParams contained       "\%({
\=\)\@1<=\_.\{-}\%(->\)\@=" nextgroup=vimLambdaOperator 
contains=@vimContinue,vimFunctionParam
 
 syn match      vim9LambdaOperator   contained  "=>" skipwhite skipempty 
nextgroup=@vimExprList,vim9LambdaBlock,vim9LambdaOperatorComment
 syn match      vim9LambdaParen      contained  "[()]"
@@ -439,56 +439,98 @@ syn match vim9LambdaOperatorComment contained "#.*" 
skipwhite skipempty nextgrou
 
 " Functions: Tag is provided for those who wish to highlight tagged functions 
{{{2
 " =========
-syn cluster    vimFuncList     
contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncScope,vimFuncSID,Tag
-syn cluster    vimDefList      
contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncScope,vimFuncSID,Tag
+syn cluster    vimFunctionBodyCommon   
contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFunctionFold,vimDefFold,vimCmdSep
+syn cluster    vimFunctionBodyList     
contains=@vimFunctionBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch
+syn cluster    vimDefBodyList          
contains=@vimFunctionBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar
 
-syn cluster    vimFuncBodyCommon       
contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
-syn cluster    vimFuncBodyList 
contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch
-syn cluster    vimDefBodyList  
contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar
-
-syn region     vimFuncPattern  contained               matchgroup=vimOper 
start="/" end="$" contains=@vimSubstList
-syn match      vimFunction     "\<fu\%[nction]\>"      skipwhite 
nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimFuncKey
-syn match      vimDef  "\<def\>"               skipwhite 
nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimDefKey
-
-syn match      vimFunction     
"\<fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+"  
contains=@vimFuncList skipwhite nextgroup=vimFuncParams
-syn match      vimDef  
"\<def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+"           
contains=@vimDefList            nextgroup=vimDefParams
+syn region     vimFunctionPattern      contained
+      \ matchgroup=vimOper
+      \ start="/"
+      \ end="$"
+      \ contains=@vimSubstList
 
-syn region     vimFuncComment  contained
+syn match      vimFunctionBang contained       " \@1<=!"       skipwhite 
nextgroup=vimFunctionName
+syn match      vimDefBang      contained       " \@1<=!"       skipwhite 
nextgroup=vimDefName
+syn match      vimFunctionSID  contained       "

-- 
-- 
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/E1uPR9D-00Ds4S-TQ%40256bit.org.

Raspunde prin e-mail lui