Skip to content

Commit 4064f17

Browse files
Fix html derivative grammar consuming php code, fixes microsoft#237262 (microsoft#245076)
Co-authored-by: Alex Ross <[email protected]>
1 parent c0fb773 commit 4064f17

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

extensions/html/build/update-grammar.mjs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,22 @@ function patchGrammar(grammar) {
3232
console.warn(`Expected to patch 2 occurrences of source.js & source.css: Was ${patchCount}`);
3333
}
3434

35+
return grammar;
36+
}
37+
38+
function patchGrammarDerivative(grammar) {
39+
let patchCount = 0;
40+
41+
let patterns = grammar.patterns;
42+
for (let key in patterns) {
43+
if (patterns[key]?.name === 'meta.tag.other.unrecognized.html.derivative' && patterns[key]?.begin === '(</?)(\\w[^\\s>]*)(?<!/)') {
44+
patterns[key].begin = '(</?)(\\w[^\\s<>]*)(?<!/)';
45+
patchCount++;
46+
}
47+
}
48+
if (patchCount !== 1) {
49+
console.warn(`Expected to do 1 patch: Was ${patchCount}`);
50+
}
3551

3652
return grammar;
3753
}
@@ -40,4 +56,6 @@ const tsGrammarRepo = 'textmate/html.tmbundle';
4056
const grammarPath = 'Syntaxes/HTML.plist';
4157
vscodeGrammarUpdater.update(tsGrammarRepo, grammarPath, './syntaxes/html.tmLanguage.json', grammar => patchGrammar(grammar));
4258

59+
const grammarDerivativePath = 'Syntaxes/HTML%20%28Derivative%29.tmLanguage';
60+
vscodeGrammarUpdater.update(tsGrammarRepo, grammarDerivativePath, './syntaxes/html-derivative.tmLanguage.json', grammar => patchGrammarDerivative(grammar));
4361

extensions/html/syntaxes/html-derivative.tmLanguage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"include": "text.html.basic#core-minus-invalid"
2424
},
2525
{
26-
"begin": "(</?)(\\w[^\\s>]*)(?<!/)",
26+
"begin": "(</?)(\\w[^\\s<>]*)(?<!/)",
2727
"beginCaptures": {
2828
"1": {
2929
"name": "punctuation.definition.tag.begin.html"

0 commit comments

Comments
 (0)