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

7193cab6c8

Co-authored-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
This commit is contained in:
zeertzjq
2025-10-26 06:41:22 +08:00
parent 4a2b9ec3c7
commit a121ede1bf

View File

@@ -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