Skip to content

Commit addce3c

Browse files
committed
Simplify jsx entities usage in the jsx string
1 parent c581555 commit addce3c

9 files changed

+77
-121
lines changed

TypeScriptReact.YAML-tmLanguage

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -46,26 +46,26 @@ repository:
4646
match: =(?=\s*(?:'|"|{|/\*|//|\n))
4747

4848
jsx-string-double-quoted:
49-
name: string.jsxAttributeValue.quoted.double.tsx
49+
name: string.quoted.double.tsx
5050
begin: '"'
5151
end: '"'
5252
beginCaptures:
53-
'0': {name: punctuation.definition.string.jsxAttributeValue.begin.tsx}
53+
'0': {name: punctuation.definition.string.begin.tsx}
5454
endCaptures:
55-
'0': {name: punctuation.definition.string.jsxAttributeValue.end.tsx}
55+
'0': {name: punctuation.definition.string.end.tsx}
5656
patterns:
57-
- include: '#jsx-attributeValue-entities'
57+
- include: '#jsx-entities'
5858

5959
jsx-string-single-quoted:
60-
name: string.jsxAttributeValue.quoted.single.tsx
60+
name: string.quoted.single.tsx
6161
begin: "'"
6262
end: "'"
6363
beginCaptures:
64-
'0': {name: punctuation.definition.string.jsxAttributeValue.begin.tsx}
64+
'0': {name: punctuation.definition.string.begin.tsx}
6565
endCaptures:
66-
'0': {name: punctuation.definition.string.jsxAttributeValue.end.tsx}
66+
'0': {name: punctuation.definition.string.end.tsx}
6767
patterns:
68-
- include: '#jsx-attributeValue-entities'
68+
- include: '#jsx-entities'
6969

7070
jsx-entities:
7171
patterns:
@@ -77,16 +77,6 @@ repository:
7777
- name: invalid.illegal.bad-ampersand.tsx
7878
match: '&'
7979

80-
jsx-attributeValue-entities:
81-
patterns:
82-
- name: constant.character.entity.jsxAttributeValue.tsx
83-
match: (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)
84-
captures:
85-
'1': {name: punctuation.definition.entity.jsxAttributeValue.tsx}
86-
'3': {name: punctuation.definition.entity.jsxAttributeValue.tsx}
87-
- name: invalid.illegal.bad-ampersand.jsxAttributeValue.tsx
88-
match: '&'
89-
9080
jsx-evaluated-code:
9181
name: meta.embedded.expression.tsx
9282
begin: '{'

TypeScriptReact.YAML-tmTheme

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ settings:
1313
- scope: entity.other.attribute-name.tsx
1414
settings: { vsclassificationtype: xml literal - attribute name }
1515

16-
# scope: meta.tag.tsx string.quoted, meta.tag.tsx string.quoted punctuation.definition.string, meta.tag.tsx string.quoted constant.character.entity.tsx, meta.tag.tsx string.quoted constant.character.entity.tsx punctuation.definition.entity.tsx
17-
# settings: { vsclassificationtype: xml literal - attribute value }
18-
19-
- scope: string.jsxAttributeValue, punctuation.definition.string.jsxAttributeValue, constant.character.entity.jsxAttributeValue.tsx, punctuation.definition.entity.jsxAttributeValue.tsx, invalid.illegal.bad-ampersand.jsxAttributeValue.tsx
16+
- scope: meta.tag.tsx string.quoted, meta.tag.tsx string.quoted punctuation.definition.string, meta.tag.tsx string.quoted constant.character.entity.tsx, meta.tag.tsx string.quoted constant.character.entity.tsx punctuation.definition.entity.tsx
2017
settings: { vsclassificationtype: xml literal - attribute value }
2118

2219
- scope: meta.jsx.children.tsx, constant.character.entity.tsx, punctuation.definition.entity.tsx, invalid.illegal.bad-ampersand.tsx

TypeScriptReact.tmLanguage

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5318,7 +5318,7 @@
53185318
<key>jsx-string-double-quoted</key>
53195319
<dict>
53205320
<key>name</key>
5321-
<string>string.jsxAttributeValue.quoted.double.tsx</string>
5321+
<string>string.quoted.double.tsx</string>
53225322
<key>begin</key>
53235323
<string>"</string>
53245324
<key>end</key>
@@ -5328,29 +5328,29 @@
53285328
<key>0</key>
53295329
<dict>
53305330
<key>name</key>
5331-
<string>punctuation.definition.string.jsxAttributeValue.begin.tsx</string>
5331+
<string>punctuation.definition.string.begin.tsx</string>
53325332
</dict>
53335333
</dict>
53345334
<key>endCaptures</key>
53355335
<dict>
53365336
<key>0</key>
53375337
<dict>
53385338
<key>name</key>
5339-
<string>punctuation.definition.string.jsxAttributeValue.end.tsx</string>
5339+
<string>punctuation.definition.string.end.tsx</string>
53405340
</dict>
53415341
</dict>
53425342
<key>patterns</key>
53435343
<array>
53445344
<dict>
53455345
<key>include</key>
5346-
<string>#jsx-attributeValue-entities</string>
5346+
<string>#jsx-entities</string>
53475347
</dict>
53485348
</array>
53495349
</dict>
53505350
<key>jsx-string-single-quoted</key>
53515351
<dict>
53525352
<key>name</key>
5353-
<string>string.jsxAttributeValue.quoted.single.tsx</string>
5353+
<string>string.quoted.single.tsx</string>
53545354
<key>begin</key>
53555355
<string>'</string>
53565356
<key>end</key>
@@ -5360,22 +5360,22 @@
53605360
<key>0</key>
53615361
<dict>
53625362
<key>name</key>
5363-
<string>punctuation.definition.string.jsxAttributeValue.begin.tsx</string>
5363+
<string>punctuation.definition.string.begin.tsx</string>
53645364
</dict>
53655365
</dict>
53665366
<key>endCaptures</key>
53675367
<dict>
53685368
<key>0</key>
53695369
<dict>
53705370
<key>name</key>
5371-
<string>punctuation.definition.string.jsxAttributeValue.end.tsx</string>
5371+
<string>punctuation.definition.string.end.tsx</string>
53725372
</dict>
53735373
</dict>
53745374
<key>patterns</key>
53755375
<array>
53765376
<dict>
53775377
<key>include</key>
5378-
<string>#jsx-attributeValue-entities</string>
5378+
<string>#jsx-entities</string>
53795379
</dict>
53805380
</array>
53815381
</dict>
@@ -5410,37 +5410,6 @@
54105410
</dict>
54115411
</array>
54125412
</dict>
5413-
<key>jsx-attributeValue-entities</key>
5414-
<dict>
5415-
<key>patterns</key>
5416-
<array>
5417-
<dict>
5418-
<key>name</key>
5419-
<string>constant.character.entity.jsxAttributeValue.tsx</string>
5420-
<key>match</key>
5421-
<string>(&amp;)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string>
5422-
<key>captures</key>
5423-
<dict>
5424-
<key>1</key>
5425-
<dict>
5426-
<key>name</key>
5427-
<string>punctuation.definition.entity.jsxAttributeValue.tsx</string>
5428-
</dict>
5429-
<key>3</key>
5430-
<dict>
5431-
<key>name</key>
5432-
<string>punctuation.definition.entity.jsxAttributeValue.tsx</string>
5433-
</dict>
5434-
</dict>
5435-
</dict>
5436-
<dict>
5437-
<key>name</key>
5438-
<string>invalid.illegal.bad-ampersand.jsxAttributeValue.tsx</string>
5439-
<key>match</key>
5440-
<string>&amp;</string>
5441-
</dict>
5442-
</array>
5443-
</dict>
54445413
<key>jsx-evaluated-code</key>
54455414
<dict>
54465415
<key>name</key>

TypeScriptReact.tmTheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
</dict>
173173
<dict>
174174
<key>scope</key>
175-
<string>string.jsxAttributeValue, punctuation.definition.string.jsxAttributeValue, constant.character.entity.jsxAttributeValue.tsx, punctuation.definition.entity.jsxAttributeValue.tsx, invalid.illegal.bad-ampersand.jsxAttributeValue.tsx</string>
175+
<string>meta.tag.tsx string.quoted, meta.tag.tsx string.quoted punctuation.definition.string, meta.tag.tsx string.quoted constant.character.entity.tsx, meta.tag.tsx string.quoted constant.character.entity.tsx punctuation.definition.entity.tsx</string>
176176
<key>settings</key>
177177
<dict>
178178
<key>vsclassificationtype</key>

tests/baselines/Issue280.baseline.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,11 @@ Grammar: TypeScriptReact.tmLanguage
185185
^
186186
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx keyword.operator.assignment.tsx
187187
^
188-
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx string.jsxAttributeValue.quoted.double.tsx punctuation.definition.string.jsxAttributeValue.begin.tsx
188+
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx string.quoted.double.tsx punctuation.definition.string.begin.tsx
189189
^^^^^
190-
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx string.jsxAttributeValue.quoted.double.tsx
190+
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx string.quoted.double.tsx
191191
^
192-
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx string.jsxAttributeValue.quoted.double.tsx punctuation.definition.string.jsxAttributeValue.end.tsx
192+
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx string.quoted.double.tsx punctuation.definition.string.end.tsx
193193
^
194194
source.tsx meta.class.tsx meta.method.declaration.tsx meta.block.tsx meta.tag.tsx punctuation.definition.tag.end.tsx
195195
> <thread>

0 commit comments

Comments
 (0)