Skip to content

Commit 1b4da07

Browse files
committed
Mark template expressions with meta.embedded.line tag
**Problem** VS Code themes currently hardcode a solution for reseting expression colorization inside of template string substitution expressions. This is not scalable since it js/ts specific With microsoft/vscode#33120 I've proposed that VS Code themes reset styling inside of meta.embedded scopes to support this across multiple languages **Fix** Marks template substitution expressions with the additional `meta.embedded.line.ts` scope
1 parent c1e19d3 commit 1b4da07

14 files changed

+83
-78
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1952,6 +1952,7 @@ repository:
19521952
'0': { name: punctuation.definition.template-expression.end.ts }
19531953
patterns:
19541954
- include: '#expression'
1955+
contentName: meta.embedded.line.ts
19551956

19561957
literal:
19571958
patterns:

TypeScript.tmLanguage

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5378,6 +5378,8 @@
53785378
<string>#expression</string>
53795379
</dict>
53805380
</array>
5381+
<key>contentName</key>
5382+
<string>meta.embedded.line.ts</string>
53815383
</dict>
53825384
<key>literal</key>
53835385
<dict>

TypeScriptReact.tmLanguage

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5324,6 +5324,8 @@
53245324
<string>#expression</string>
53255325
</dict>
53265326
</array>
5327+
<key>contentName</key>
5328+
<string>meta.embedded.line.tsx</string>
53275329
</dict>
53285330
<key>literal</key>
53295331
<dict>

tests/baselines/Issue124.baseline.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ Grammar: TypeScript.tmLanguage
151151
^^
152152
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.begin.ts
153153
^^^^^^^^^^^^^^^^^^^^
154-
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts variable.other.constant.ts
154+
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.constant.ts
155155
^
156156
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.end.ts
157157
^^
158158
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.begin.ts
159159
^^^^^^^^^^
160-
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts variable.other.readwrite.ts
160+
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.readwrite.ts
161161
^
162162
source.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.end.ts
163163
^^^^^^^^^^^^^^^

tests/baselines/Issue230.baseline.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,23 +182,23 @@ Grammar: TypeScript.tmLanguage
182182
^^
183183
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.begin.ts
184184
^^^^^
185-
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts variable.other.object.ts
185+
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.object.ts
186186
^
187-
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.accessor.ts
187+
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts punctuation.accessor.ts
188188
^^^
189-
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts variable.other.property.ts
189+
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.property.ts
190190
^
191191
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.end.ts
192192
^
193193
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts
194194
^^
195195
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.begin.ts
196196
^^^^^
197-
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts variable.other.object.ts
197+
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.object.ts
198198
^
199-
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.accessor.ts
199+
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts punctuation.accessor.ts
200200
^^^^
201-
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts variable.other.property.ts
201+
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.property.ts
202202
^
203203
source.ts meta.arrow.ts meta.block.ts meta.var.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.end.ts
204204
^

tests/baselines/Issue321.baseline.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -785,31 +785,31 @@ Grammar: TypeScript.tmLanguage
785785
^^
786786
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.begin.ts
787787
^^^^^
788-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts variable.other.readwrite.ts
788+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.readwrite.ts
789789
^
790790
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.end.ts
791791
^^
792792
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts
793793
^^
794794
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.begin.ts
795795
^^^^^
796-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts variable.other.readwrite.ts
796+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.readwrite.ts
797797
^
798-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts
798+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts
799799
^
800-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts keyword.operator.arithmetic.ts
800+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts keyword.operator.arithmetic.ts
801801
^
802-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts
802+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts
803803
^^^^^
804-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts variable.other.readwrite.ts
804+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts variable.other.readwrite.ts
805805
^
806-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts
806+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts
807807
^
808-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts keyword.operator.arithmetic.ts
808+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts keyword.operator.arithmetic.ts
809809
^
810-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts
810+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts
811811
^
812-
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts constant.numeric.decimal.ts
812+
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts meta.embedded.line.ts constant.numeric.decimal.ts
813813
^
814814
source.ts meta.class.ts meta.method.declaration.ts meta.block.ts meta.block.ts meta.block.ts meta.arrow.ts meta.block.ts meta.block.ts meta.block.ts new.expr.ts string.template.ts meta.template.expression.ts punctuation.definition.template-expression.end.ts
815815
^

0 commit comments

Comments
 (0)