commit 7be031f397da2555e950a4acf753b1219ef7dfe1
parent 4dc337cda86f16a0f5976a4a8bf19da96309a484
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 21 Nov 2025 09:22:30 +0800
Merge pull request #36647 from zeertzjq/vim-7fe4b8c
vim-patch: runtime file updates
Diffstat:
9 files changed, 65 insertions(+), 22 deletions(-)
diff --git a/runtime/compiler/rime_deployer.vim b/runtime/compiler/rime_deployer.vim
@@ -3,6 +3,7 @@
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" URL: https://rime.im
" Latest Revision: 2024-04-09
+" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
if exists('b:current_compiler')
finish
@@ -25,6 +26,8 @@ for s:shared_data_dir in ['/sdcard/rime-data', '/run/current-system/sw/share/rim
endfor
execute 'CompilerSet makeprg=rime_deployer\ --build\ %:p:h:S\' s:shared_data_dir
unlet s:prefix s:shared_data_dir
+" CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m
+CompilerSet errorformat&
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions
diff --git a/runtime/compiler/vimdoc.vim b/runtime/compiler/vimdoc.vim
@@ -2,6 +2,7 @@
" Language: vimdoc
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Latest Revision: 2024-04-13
+" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
"
" If you can not find 'vimdoc' in the package manager of your distribution e.g
" 'pip', then you may need to build it from its source.
@@ -15,6 +16,8 @@ let s:save_cpoptions = &cpoptions
set cpoptions&vim
CompilerSet makeprg=vimdoc
+" CompilerSet errorformat=%f:%l:%c:\ %m,%f:%l:\ %m
+CompilerSet errorformat&
let &cpoptions = s:save_cpoptions
unlet s:save_cpoptions
diff --git a/runtime/compiler/yamllint.vim b/runtime/compiler/yamllint.vim
@@ -3,6 +3,7 @@
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2021 July 21
" 2024 Apr 03 by The Vim Project (removed :CompilerSet definition)
+" 2025 Nov 16 by The Vim Project (set errorformat)
if exists("current_compiler")
finish
@@ -10,4 +11,6 @@ endif
let current_compiler = "yamllint"
CompilerSet makeprg=yamllint\ -f\ parsable
+" CompilerSet errorformat=%f:%l:%c:\ [%t%*[^]]]\ %m,%f:%l:%c:\ [%*[^]]]\ %m
+CompilerSet errorformat&
diff --git a/runtime/compiler/zig_build_exe.vim b/runtime/compiler/zig_build_exe.vim
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Zig Compiler (zig build-exe)
" Upstream: https://github.com/ziglang/zig.vim
-" Last Change: 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
+" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
if exists('current_compiler')
finish
@@ -12,11 +12,9 @@ let current_compiler = 'zig_build_exe'
let s:save_cpo = &cpo
set cpo&vim
-if has('patch-7.4.191')
- CompilerSet makeprg=zig\ build-exe\ \%:S\ \$*
-else
- CompilerSet makeprg=zig\ build-exe\ \"%\"\ \$*
-endif
+CompilerSet makeprg=zig\ build-exe\ \%:S\ \$*
+" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
+CompilerSet errorformat&
let &cpo = s:save_cpo
unlet s:save_cpo
diff --git a/runtime/compiler/zig_test.vim b/runtime/compiler/zig_test.vim
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Zig Compiler (zig test)
" Upstream: https://github.com/ziglang/zig.vim
-" Last Change: 2024 Apr 05 by The Vim Project (removed :CompilerSet definition)
+" Last Change: 2025 Nov 16 by The Vim Project (set errorformat)
if exists('current_compiler')
finish
@@ -12,11 +12,9 @@ let current_compiler = 'zig_test'
let s:save_cpo = &cpo
set cpo&vim
-if has('patch-7.4.191')
- CompilerSet makeprg=zig\ test\ \%:S\ \$*
-else
- CompilerSet makeprg=zig\ test\ \"%\"\ \$*
-endif
+CompilerSet makeprg=zig\ test\ \%:S\ \$*
+" CompilerSet errorformat=%f:%l:%c: %t%*[^:]: %m, %f:%l:%c: %m, %f:%l: %m
+CompilerSet errorformat&
let &cpo = s:save_cpo
unlet s:save_cpo
diff --git a/runtime/indent/php.vim b/runtime/indent/php.vim
@@ -1,10 +1,9 @@
-" Vim indent file
" Language: PHP
" Author: John Wellesz <John.wellesz (AT) gmail (DOT) com>
" URL: https://www.2072productions.com/vim/indent/php.vim
" Home: https://github.com/2072/PHP-Indenting-for-VIm
-" Last Change: 2023 August 18th
-" Version: 1.75
+" Last Change: 2025 November 16th
+" Version: 1.76
"
"
" Type :help php-indent for available options
@@ -839,13 +838,15 @@ function! GetPhpIndent()
continue
else
- let isSingleLineBlock = 0
- if getline(last_line_num) =~# '^\s*else\%(if\)\=\>'
+ if getline(last_line_num) =~# '^\s*else\%(if\)\=\>' && !isSingleLineBlock
let last_line_num = FindTheIfOfAnElse(last_line_num, 0)
+ let isSingleLineBlock = 0
continue
endif
+ let isSingleLineBlock = 0
+
let last_match = last_line_num
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Last Change: 2025 Jan 18
+" Last Change: 2025 Nov 18
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Quit when a (custom) syntax file was already loaded
@@ -421,8 +421,10 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
syn keyword cConstant NDEBUG
" POSIX 2001
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ
+ " POSIX Issue 8 (post 2017)
+ syn keyword cConstant SIGWINCH
" non-POSIX signals
- syn keyword cConstant SIGWINCH SIGINFO
+ syn keyword cConstant SIGINFO SIGIO
" Add POSIX errors as well. List comes from:
" http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
syn keyword cConstant E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
diff --git a/runtime/syntax/haskell.vim b/runtime/syntax/haskell.vim
@@ -2,6 +2,7 @@
" Language: Haskell
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
" Last Change: 2024 Mar 28 by Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com>
+" 2025 Nov 20 by Vim Project: Allow spaces in backticks #18776
" Original Author: John Williams <jrw@pobox.com>
"
" Thanks to Ryan Crumley for suggestions and John Meacham for
@@ -46,8 +47,8 @@ syn match VarId "\(\<[A-Z][a-zA-Z0-9_']*\.\)*\<[a-z][a-zA-Z0-9_']*\>" contains=@
" others are variables (e.g. functions).
syn match hsVarSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[-!#$%&\*\+/<=>\?@\\^|~.][-!#$%&\*\+/<=>\?@\\^|~:.]*"
syn match hsConSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./<=>\?@\\^|~:]*"
-syn match hsVarSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[a-z][a-zA-Z0-9_']*`"
-syn match hsConSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[A-Z][a-zA-Z0-9_']*`"
+syn match hsVarSym "` *\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[a-z][a-zA-Z0-9_']* *`"
+syn match hsConSym "` *\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[A-Z][a-zA-Z0-9_']* *`"
" (Non-qualified) identifiers which start with # are labels
syn match hsLabel "#[a-z][a-zA-Z0-9_']*\>"
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
@@ -232,7 +232,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,vimAt,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCd,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDefer,vimDelcommand,vimDelFunction,vimDoCommand,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimEval,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimPrompt,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSyntime,vimSynColor,vimSynLink,vimTerminal,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimWincmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
+syn cluster vimCmdList contains=vimAbb,vimAddress,vimAt,vimAutocmd,vimAugroup,vimBehave,vimBreakadd,vimBreakdel,vimBreaklist,vimCall,vimCatch,vimCd,vimCommandModifier,vimConst,vimDoautocmd,vimDebug,vimDebuggreedy,vimDef,vimDefFold,vimDefer,vimDelcommand,vimDelFunction,vimDoCommand,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimEval,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimPrompt,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSyntime,vimSynColor,vimSynLink,vimTerminal,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimWincmd,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
@@ -293,6 +293,27 @@ syn match vimBehave "\<be\%[have]\>" nextgroup=vimBehaveBang,vimBehaveModel,vi
syn match vimBehaveBang contained "\a\@1<=!" nextgroup=vimBehaveModel skipwhite
syn keyword vimBehaveModel contained mswin xterm
+" Break* commands {{{2
+" ===============
+syn keyword vimBreakaddFunc contained func skipwhite nextgroup=vimBreakpointFunctionLine,vimBreakpointFunction
+syn keyword vimBreakaddFile contained file skipwhite nextgroup=vimBreakpointFileLine,vimBreakpointFilename
+syn keyword vimBreakaddHere contained here skipwhite nextgroup=vimComment,vim9Comment,vimSep
+syn keyword vimBreakaddExpr contained expr skipwhite nextgroup=@vimExprList
+
+syn match vimBreakpointGlob contained "*" skipwhite nextgroup=vimComment,vim9Comment,vimSep
+syn match vimBreakpointNumber contained "\<\d\+\>" skipwhite nextgroup=vimComment,vim9Comment,vimSep
+
+syn cluster vimBreakpointArg contains=vimBreakaddFunc,vimBreakaddFile,vimBreakaddHere,vimBreakaddExpr
+
+syn match vimBreakpointFunction contained "\<\%(\*\|\w\)\+\>" skipwhite nextgroup=vimComment,vim9Comment,vimSep
+syn match vimBreakpointFilename contained "\<\%(\*\|\f\)\+\>" skipwhite nextgroup=vimComment,vim9Comment,vimSep
+syn match vimBreakpointFunctionLine contained "\<\d\+\>" skipwhite nextgroup=vimBreakpointFunction
+syn match vimBreakpointFileLine contained "\<\d\+\>" skipwhite nextgroup=vimBreakpointFilename
+
+syn keyword vimBreakadd breaka[dd] skipwhite nextgroup=@vimBreakpointArg
+syn keyword vimBreakdel breakd[el] skipwhite nextgroup=@vimBreakpointArg,vimBreakpointNumber,vimBreakpointGlob
+syn keyword vimBreaklist breakl[ist] skipwhite nextgroup=vimComment,vim9Comment,vimSep
+
" Call {{{2
" ====
syn match vimCall "\<call\=\>" skipwhite nextgroup=vimVar,@vimFunc
@@ -312,6 +333,10 @@ syn region vimCdArg contained
syn match vimCdBang contained "\a\@1<=!" skipwhite nextgroup=vimCdArg,vimComment,vim9Comment,vimCmdSep
+" Debug {{{2
+" =====
+syn keyword vimDebug deb[ug] skipwhite nextgroup=@vimCmdList
+
" Debuggreedy {{{2
" ===========
" TODO: special-cased until generalised range/count support is implemented
@@ -2384,6 +2409,14 @@ if !exists("skip_vim_syntax_inits")
hi def link vimBehaveModel vimBehave
hi def link vimBehave vimCommand
hi def link vimBracket Delimiter
+ hi def link vimBreakaddFunc Special
+ hi def link vimBreakaddFile Special
+ hi def link vimBreakaddHere Special
+ hi def link vimBreakaddExpr Special
+ hi def link vimBreakpointGlob Special
+ hi def link vimBreakadd vimCommand
+ hi def link vimBreakdel vimCommand
+ hi def link vimBreaklist vimCommand
hi def link vimCall vimCommand
hi def link vimCatch vimCommand
hi def link vimCd vimCommand
@@ -2403,6 +2436,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimContinueString vimString
hi def link vimCount Number
hi def link vimCtrlChar SpecialChar
+ hi def link vimDebug vimCommand
hi def link vimDebuggreedy vimCommand
hi def link vimDef vimCommand
hi def link vimDefBang vimBang