Skip to content

Commit cb1af79

Browse files
committed
Reduce number of capture groups
1 parent 76c512c commit cb1af79

File tree

2 files changed

+30
-30
lines changed

2 files changed

+30
-30
lines changed

TypeScriptReact.YAML-tmLanguage

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,18 +94,18 @@ repository:
9494

9595
jsx-tag-without-attributes:
9696
name: meta.tag.without-attributes.tsx
97-
begin: (<)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>)
98-
end: (</)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>)
97+
begin: (<)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>)
98+
end: (</)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>)
9999
beginCaptures:
100100
'1': {name: punctuation.definition.tag.begin.tsx}
101101
'2': {name: entity.name.tag.tsx}
102-
'4': {name: support.class.component.tsx}
103-
'5': {name: punctuation.definition.tag.end.tsx}
102+
'3': {name: support.class.component.tsx}
103+
'4': {name: punctuation.definition.tag.end.tsx}
104104
endCaptures:
105105
'1': {name: punctuation.definition.tag.begin.tsx}
106106
'2': {name: entity.name.tag.tsx}
107-
'4': {name: support.class.component.tsx}
108-
'5': {name: punctuation.definition.tag.end.tsx}
107+
'3': {name: support.class.component.tsx}
108+
'4': {name: punctuation.definition.tag.end.tsx}
109109
contentName: meta.jsx.children.tsx
110110
patterns:
111111
- include: '#jsx-children'
@@ -120,14 +120,14 @@ repository:
120120
(?=(<)\s*
121121
([_$a-zA-Z][-$\w.]*(?<!\.|-))
122122
(?=\s+(?!\?)|/?>))
123-
end: (/>)|(?:(</)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>))
123+
end: (/>)|(?:(</)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>))
124124
endCaptures:
125125
'0': { name: meta.tag.tsx }
126126
'1': { name: punctuation.definition.tag.end.tsx }
127127
'2': { name: punctuation.definition.tag.begin.tsx }
128128
'3': { name: entity.name.tag.tsx }
129-
'5': { name: support.class.component.tsx }
130-
'6': { name: punctuation.definition.tag.end.tsx }
129+
'4': { name: support.class.component.tsx }
130+
'5': { name: punctuation.definition.tag.end.tsx }
131131
patterns:
132132
- include: '#jsx-tag'
133133

@@ -138,14 +138,14 @@ repository:
138138
(?=(<)\s*
139139
([_$a-zA-Z][-$\w.]*(?<!\.|-))
140140
(?=\s+(?!\?)|/?>))
141-
end: (/>)|(?:(</)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>))
141+
end: (/>)|(?:(</)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))\s*(>))
142142
endCaptures:
143143
'0': { name: meta.tag.tsx }
144144
'1': { name: punctuation.definition.tag.end.tsx }
145145
'2': { name: punctuation.definition.tag.begin.tsx }
146146
'3': { name: entity.name.tag.tsx }
147-
'5': { name: support.class.component.tsx }
148-
'6': { name: punctuation.definition.tag.end.tsx }
147+
'4': { name: support.class.component.tsx }
148+
'5': { name: punctuation.definition.tag.end.tsx }
149149
patterns:
150150
- include: '#jsx-tag'
151151

@@ -161,12 +161,12 @@ repository:
161161
- begin: |-
162162
(?x)
163163
(<)\s*
164-
(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))
164+
((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?<!\.|-))
165165
(?=\s+(?!\?)|/?>)
166166
beginCaptures:
167167
'1': { name: punctuation.definition.tag.begin.tsx }
168168
'2': { name: entity.name.tag.tsx }
169-
'4': { name: support.class.component.tsx }
169+
'3': { name: support.class.component.tsx }
170170
end: (?=[/]?>)
171171
patterns:
172172
- include: '#comment'

TypeScriptReact.tmLanguage

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6527,9 +6527,9 @@
65276527
<key>name</key>
65286528
<string>meta.tag.without-attributes.tsx</string>
65296529
<key>begin</key>
6530-
<string>(&lt;)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;)</string>
6530+
<string>(&lt;)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;)</string>
65316531
<key>end</key>
6532-
<string>(&lt;/)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;)</string>
6532+
<string>(&lt;/)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;)</string>
65336533
<key>beginCaptures</key>
65346534
<dict>
65356535
<key>1</key>
@@ -6542,12 +6542,12 @@
65426542
<key>name</key>
65436543
<string>entity.name.tag.tsx</string>
65446544
</dict>
6545-
<key>4</key>
6545+
<key>3</key>
65466546
<dict>
65476547
<key>name</key>
65486548
<string>support.class.component.tsx</string>
65496549
</dict>
6550-
<key>5</key>
6550+
<key>4</key>
65516551
<dict>
65526552
<key>name</key>
65536553
<string>punctuation.definition.tag.end.tsx</string>
@@ -6565,12 +6565,12 @@
65656565
<key>name</key>
65666566
<string>entity.name.tag.tsx</string>
65676567
</dict>
6568-
<key>4</key>
6568+
<key>3</key>
65696569
<dict>
65706570
<key>name</key>
65716571
<string>support.class.component.tsx</string>
65726572
</dict>
6573-
<key>5</key>
6573+
<key>4</key>
65746574
<dict>
65756575
<key>name</key>
65766576
<string>punctuation.definition.tag.end.tsx</string>
@@ -6594,10 +6594,10 @@
65946594
(?!(&lt;)\s*([_$a-zA-Z][-$\w.]*(?&lt;!\.|-))\s*(&gt;)) #look ahead is not start of tag without attributes
65956595
(?!&lt;\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s+[^=&gt;])|,)) # look ahead is not type parameter of arrow
65966596
(?=(&lt;)\s*
6597-
([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)
6597+
([_$a-zA-Z][-$\w.]*(?&lt;!\.|-))
65986598
(?=\s+(?!\?)|/?&gt;))</string>
65996599
<key>end</key>
6600-
<string>(/&gt;)|(?:(&lt;/)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;))</string>
6600+
<string>(/&gt;)|(?:(&lt;/)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;))</string>
66016601
<key>endCaptures</key>
66026602
<dict>
66036603
<key>0</key>
@@ -6620,12 +6620,12 @@
66206620
<key>name</key>
66216621
<string>entity.name.tag.tsx</string>
66226622
</dict>
6623-
<key>5</key>
6623+
<key>4</key>
66246624
<dict>
66256625
<key>name</key>
66266626
<string>support.class.component.tsx</string>
66276627
</dict>
6628-
<key>6</key>
6628+
<key>5</key>
66296629
<dict>
66306630
<key>name</key>
66316631
<string>punctuation.definition.tag.end.tsx</string>
@@ -6644,10 +6644,10 @@
66446644
<key>begin</key>
66456645
<string>(?x)
66466646
(?=(&lt;)\s*
6647-
([_$a-zA-Z][-$\w.]*)(?&lt;!\.|-)
6647+
([_$a-zA-Z][-$\w.]*(?&lt;!\.|-))
66486648
(?=\s+(?!\?)|/?&gt;))</string>
66496649
<key>end</key>
6650-
<string>(/&gt;)|(?:(&lt;/)\s*(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;))</string>
6650+
<string>(/&gt;)|(?:(&lt;/)\s*((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))\s*(&gt;))</string>
66516651
<key>endCaptures</key>
66526652
<dict>
66536653
<key>0</key>
@@ -6670,12 +6670,12 @@
66706670
<key>name</key>
66716671
<string>entity.name.tag.tsx</string>
66726672
</dict>
6673-
<key>5</key>
6673+
<key>4</key>
66746674
<dict>
66756675
<key>name</key>
66766676
<string>support.class.component.tsx</string>
66776677
</dict>
6678-
<key>6</key>
6678+
<key>5</key>
66796679
<dict>
66806680
<key>name</key>
66816681
<string>punctuation.definition.tag.end.tsx</string>
@@ -6706,7 +6706,7 @@
67066706
<key>begin</key>
67076707
<string>(?x)
67086708
(&lt;)\s*
6709-
(([a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))
6709+
((?:[a-z][a-z0-9]*|([_$a-zA-Z][-$\w.]*))(?&lt;!\.|-))
67106710
(?=\s+(?!\?)|/?&gt;)</string>
67116711
<key>beginCaptures</key>
67126712
<dict>
@@ -6720,7 +6720,7 @@
67206720
<key>name</key>
67216721
<string>entity.name.tag.tsx</string>
67226722
</dict>
6723-
<key>4</key>
6723+
<key>3</key>
67246724
<dict>
67256725
<key>name</key>
67266726
<string>support.class.component.tsx</string>

0 commit comments

Comments
 (0)