commit a121ede1bfee2704c26159124f8f61f96c6aa136
parent 4a2b9ec3c73b02c3404efe8eb90a512509dd86fd
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun, 26 Oct 2025 06:41:22 +0800
vim-patch:7193cab: runtime(make): Prevent makeTargetinDefine matching extra line
This fixes a bug introduced in 2a33b499a3d7f46dc307234847a6562cef6cf1d8:
When makeTargetinDefine ends with makeIdent, makeSpecTarget or
makeComment, the following line is also matched as makeTargetinDefine.
So, add keepend to prevent that just as makeTarget does.
related: vim/vim#18403
closes: vim/vim#18570
https://github.com/vim/vim/commit/7193cab6c88a6d81c9f302bf7f97810765e6d2be
Co-authored-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Diffstat:
1 file changed, 2 insertions(+), 0 deletions(-)
diff --git a/runtime/syntax/make.vim b/runtime/syntax/make.vim
@@ -6,6 +6,7 @@
" Last Change: 2022 Nov 06
" 2025 Apr 15 by Vim project: rework Make flavor detection (#17089)
" 2025 Oct 12 by Vim project: update makeDefine highlighting (#18403)
+" 2025 Oct 25 by Vim project: update makeTargetinDefine highlighting (#18570)
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -65,6 +66,7 @@ syn match makeImplicit "^\.[A-Za-z0-9_./\t -]\+\s*:[^=]"me=e-2
syn region makeTargetinDefine transparent matchgroup=makeTargetinDefine
\ start="^[~A-Za-z0-9_./$(){}%-][A-Za-z0-9_./\t ${}()%-]*&\?:\?:\{1,2}[^:=]"rs=e-1
\ end="[^\\]$"
+ \ keepend
syn match makeTargetinDefine "^[~A-Za-z0-9_./$(){}%*@-][A-Za-z0-9_./\t $(){}%*@-]*&\?::\=\s*$"
\ contains=makeIdent,makeSpecTarget,makeComment