]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(make): Prevent makeTargetinDefine matching extra line
authorYiyang Wu <xgreenlandforwyy@gmail.com>
Sat, 25 Oct 2025 14:19:07 +0000 (14:19 +0000)
committerChristian Brabandt <cb@256bit.org>
Sat, 25 Oct 2025 14:19:07 +0000 (14:19 +0000)
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: #18403
closes: #18570

Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
Signed-off-by: Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/syntax/make.vim

index 8b6f04cbcf111d5cb3ce2c081b9f1de27732421e..338150fa94800324eb67cd02d8c1fcf5ffd27e23 100644 (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