From: Christian Brabandt Date: Thu, 16 Apr 2026 21:25:43 +0000 (+0000) Subject: runtime(make): fix wrong highlighting with $ inside double quotes X-Git-Tag: v9.2.0361~6 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=450895d86b7b22fb730c27dbd3dfe089b66c7d5c;p=thirdparty%2Fvim.git runtime(make): fix wrong highlighting with $ inside double quotes fixes: #19986 Co-authored-by: Anton Khirnov Signed-off-by: Christian Brabandt --- diff --git a/runtime/syntax/make.vim b/runtime/syntax/make.vim index 0e973237a5..530b41e0e9 100644 --- a/runtime/syntax/make.vim +++ b/runtime/syntax/make.vim @@ -9,6 +9,7 @@ " 2025 Oct 25 by Vim project: update makeTargetinDefine highlighting (#18570) " 2025 Dec 23 by Vim project: fix too greedy match (#18938) " 2025 Dec 23 by Vim project: wrong highlight with paranthesis inside quotes (#18818) +" 2026 Apr 17 by Vim project: wrong highlight $ inside quotes (#19986) " quit when a syntax file was already loaded if exists("b:current_syntax") @@ -41,7 +42,7 @@ endif syn match makeIdent "\$\$\w*" syn match makeIdent "\$\$\$\$\w*" containedin=makeDefine syn match makeIdent "\$[^({]" -syn match makeIdent "\$\$[^({]" containedin=makeDefine +syn match makeIdent "\$\$[^({\"']" containedin=makeDefine if get(b:, 'make_flavor', s:make_flavor) == 'microsoft' syn region makeIdent start="\$(" end=")" contains=makeStatement,makeIdent,makeDString,makeSString syn region makeIdent start="\${" end="}" contains=makeStatement,makeIdent,makeDString,makeSString diff --git a/runtime/syntax/testdir/dumps/make_01_00.dump b/runtime/syntax/testdir/dumps/make_01_00.dump index d476fcd2ac..cf31afb973 100644 --- a/runtime/syntax/testdir/dumps/make_01_00.dump +++ b/runtime/syntax/testdir/dumps/make_01_00.dump @@ -14,7 +14,7 @@ @75 |d+0#00e0e07&|e|f|a|u|l|t|:| +0#0000000&@66 | +0#e000002&@7|$+0#00e0e07&|(|c+0#af5f00255&|a|l@1| +0#00e0e07&|s|a|y|,|"+0#e000002&|H|e|l@1|o| |(|w|o|r|l|d|)|!|"|)+0#00e0e07&| +0#0000000&@38 -|~+0#4040ff13&| @73 -|~| @73 -|~| @73 -| +0#0000000&@56|1|,|1| @10|A|l@1| +@75 +|f+0#00e0e07&|o@1|:| +0#0000000&@70 +| +0#e000002&@7|e|c|h|o| |"|b|a|r|$+0#00e0e07&@1|"+0#e000002&| |b|a|z| +0#0000000&@50 +@57|1|,|1| @10|A|l@1| diff --git a/runtime/syntax/testdir/input/make_01.mak b/runtime/syntax/testdir/input/make_01.mak index e97c13c0aa..082972a59c 100644 --- a/runtime/syntax/testdir/input/make_01.mak +++ b/runtime/syntax/testdir/input/make_01.mak @@ -14,3 +14,6 @@ endef default: $(call say,"Hello (world)!") + +foo: + echo "bar$$" baz