Skip to content

Commit 5e9cf09

Browse files
committed
Fix issue #16
1 parent f036ee3 commit 5e9cf09

11 files changed

+122
-48
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,21 @@ patterns:
1111
repository:
1212
var-expr:
1313
name: meta.var.expr.ts
14-
begin: (?<!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)
14+
begin: (?<!\()\s*\b(var|let|const(?!\s+enum))
1515
beginCaptures:
1616
'1': { name: storage.type.ts }
17-
'2': { name: variable.ts }
1817
end: '(?=$|[;=\}\{])|(?<=\})'
1918
patterns:
19+
- include: '#var-variable'
20+
- include: '#comment'
21+
22+
var-variable:
23+
name: meta.var-variable.expr.ts
24+
begin: \b([a-zA-Z_$][\w$]*)
25+
beginCaptures:
26+
'1': { name: variable.ts }
27+
end: (?=$|[;,=\}\{])|(?<=\})
28+
patterns:
2029
- include: '#type-annotation'
2130
- include: '#string'
2231
- include: '#comment'
@@ -93,6 +102,7 @@ repository:
93102
'1': { name: brace.curly.ts }
94103
patterns:
95104
- include: '#comment'
105+
- include: '#object-heritage'
96106
- include: '#type-parameters'
97107
- include: '#object-heritage-parent'
98108

TypeScript.tmLanguage

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,10 @@
982982
<key>include</key>
983983
<string>#comment</string>
984984
</dict>
985+
<dict>
986+
<key>include</key>
987+
<string>#object-heritage</string>
988+
</dict>
985989
<dict>
986990
<key>include</key>
987991
<string>#type-parameters</string>
@@ -1663,24 +1667,47 @@
16631667
<key>var-expr</key>
16641668
<dict>
16651669
<key>begin</key>
1666-
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)</string>
1670+
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum))</string>
16671671
<key>beginCaptures</key>
16681672
<dict>
16691673
<key>1</key>
16701674
<dict>
16711675
<key>name</key>
16721676
<string>storage.type.ts</string>
16731677
</dict>
1674-
<key>2</key>
1678+
</dict>
1679+
<key>end</key>
1680+
<string>(?=$|[;=\}\{])|(?&lt;=\})</string>
1681+
<key>name</key>
1682+
<string>meta.var.expr.ts</string>
1683+
<key>patterns</key>
1684+
<array>
1685+
<dict>
1686+
<key>include</key>
1687+
<string>#var-variable</string>
1688+
</dict>
1689+
<dict>
1690+
<key>include</key>
1691+
<string>#comment</string>
1692+
</dict>
1693+
</array>
1694+
</dict>
1695+
<key>var-variable</key>
1696+
<dict>
1697+
<key>begin</key>
1698+
<string>\b([a-zA-Z_$][\w$]*)</string>
1699+
<key>beginCaptures</key>
1700+
<dict>
1701+
<key>1</key>
16751702
<dict>
16761703
<key>name</key>
16771704
<string>variable.ts</string>
16781705
</dict>
16791706
</dict>
16801707
<key>end</key>
1681-
<string>(?=$|[;=\}\{])|(?&lt;=\})</string>
1708+
<string>(?=$|[;,=\}\{])|(?&lt;=\})</string>
16821709
<key>name</key>
1683-
<string>meta.var.expr.ts</string>
1710+
<string>meta.var-variable.expr.ts</string>
16841711
<key>patterns</key>
16851712
<array>
16861713
<dict>

TypeScriptReact.YAML-tmLanguage

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,22 @@ patterns:
1313

1414
repository:
1515
var-expr:
16-
name: meta.var.expr.tsx
17-
begin: (?<!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)
16+
name: meta.var.expr.ts
17+
begin: (?<!\()\s*\b(var|let|const(?!\s+enum))
1818
beginCaptures:
1919
'1': { name: storage.type.tsx }
20-
'2': { name: variable.tsx }
2120
end: '(?=$|[;=\}\{])|(?<=\})'
2221
patterns:
22+
- include: '#var-variable'
23+
- include: '#comment'
24+
25+
var-variable:
26+
name: meta.var-variable.expr.ts
27+
begin: \b([a-zA-Z_$][\w$]*)
28+
beginCaptures:
29+
'1': { name: variable.tsx }
30+
end: (?=$|[;,=\}\{])|(?<=\})
31+
patterns:
2332
- include: '#type-annotation'
2433
- include: '#string'
2534
- include: '#comment'
@@ -96,6 +105,7 @@ repository:
96105
'1': { name: brace.curly.tsx }
97106
patterns:
98107
- include: '#comment'
108+
- include: '#object-heritage'
99109
- include: '#type-parameters'
100110
- include: '#object-heritage-parent'
101111

TypeScriptReact.tmLanguage

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,6 +1323,10 @@
13231323
<key>include</key>
13241324
<string>#comment</string>
13251325
</dict>
1326+
<dict>
1327+
<key>include</key>
1328+
<string>#object-heritage</string>
1329+
</dict>
13261330
<dict>
13271331
<key>include</key>
13281332
<string>#type-parameters</string>
@@ -2004,24 +2008,47 @@
20042008
<key>var-expr</key>
20052009
<dict>
20062010
<key>begin</key>
2007-
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)</string>
2011+
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum))</string>
20082012
<key>beginCaptures</key>
20092013
<dict>
20102014
<key>1</key>
20112015
<dict>
20122016
<key>name</key>
20132017
<string>storage.type.tsx</string>
20142018
</dict>
2015-
<key>2</key>
2019+
</dict>
2020+
<key>end</key>
2021+
<string>(?=$|[;=\}\{])|(?&lt;=\})</string>
2022+
<key>name</key>
2023+
<string>meta.var.expr.ts</string>
2024+
<key>patterns</key>
2025+
<array>
2026+
<dict>
2027+
<key>include</key>
2028+
<string>#var-variable</string>
2029+
</dict>
2030+
<dict>
2031+
<key>include</key>
2032+
<string>#comment</string>
2033+
</dict>
2034+
</array>
2035+
</dict>
2036+
<key>var-variable</key>
2037+
<dict>
2038+
<key>begin</key>
2039+
<string>\b([a-zA-Z_$][\w$]*)</string>
2040+
<key>beginCaptures</key>
2041+
<dict>
2042+
<key>1</key>
20162043
<dict>
20172044
<key>name</key>
20182045
<string>variable.tsx</string>
20192046
</dict>
20202047
</dict>
20212048
<key>end</key>
2022-
<string>(?=$|[;=\}\{])|(?&lt;=\})</string>
2049+
<string>(?=$|[;,=\}\{])|(?&lt;=\})</string>
20232050
<key>name</key>
2024-
<string>meta.var.expr.tsx</string>
2051+
<string>meta.var-variable.expr.ts</string>
20252052
<key>patterns</key>
20262053
<array>
20272054
<dict>

tests/baselines/Comments.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
[9, 5]: source.ts comment.block.ts
2-
[10, 7]: source.ts meta.var.expr.ts comment.block.ts
3-
[11, 8]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
4-
[12, 15]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
1+
[9, 5]: source.ts meta.var.expr.ts comment.block.ts
2+
[10, 7]: source.ts meta.var.expr.ts meta.var-variable.expr.ts comment.block.ts
3+
[11, 8]: source.ts meta.var.expr.ts meta.var-variable.expr.ts meta.type.annotation.ts comment.block.ts
4+
[12, 15]: source.ts meta.var.expr.ts meta.var-variable.expr.ts meta.type.annotation.ts comment.block.ts
55
[13, 17]: source.ts comment.block.ts
66
[14, 25]: source.ts comment.block.ts
77
[15, 26]: source.ts comment.block.ts
8-
[17, 5]: source.ts comment.block.ts
9-
[18, 7]: source.ts meta.var.expr.ts comment.block.ts
10-
[19, 8]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
11-
[20, 15]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
8+
[17, 5]: source.ts meta.var.expr.ts comment.block.ts
9+
[18, 7]: source.ts meta.var.expr.ts meta.var-variable.expr.ts comment.block.ts
10+
[19, 8]: source.ts meta.var.expr.ts meta.var-variable.expr.ts meta.type.annotation.ts comment.block.ts
11+
[20, 15]: source.ts meta.var.expr.ts meta.var-variable.expr.ts meta.type.annotation.ts comment.block.ts
1212
[21, 17]: source.ts comment.block.ts
1313
[22, 25]: source.ts comment.block.ts
1414
[24, 1]: source.ts comment.block.ts
@@ -69,9 +69,9 @@
6969
[54, 12]: source.ts meta.declaration.object.ts comment.block.ts
7070
[57, 31]: source.ts meta.declaration.object.ts meta.type.parameters.ts comment.block.ts
7171
[60, 39]: source.ts meta.declaration.object.ts meta.type.parameters.ts comment.block.ts
72-
[64, 6]: source.ts meta.var.expr.ts comment.block.ts
72+
[64, 6]: source.ts meta.var.expr.ts meta.var-variable.expr.ts comment.block.ts
7373
[65, 7]: source.ts comment.block.ts
7474
[66, 11]: source.ts new.expr.ts comment.block.ts
75-
[68, 7]: source.ts meta.var.expr.ts comment.block.ts
75+
[68, 7]: source.ts meta.var.expr.ts meta.var-variable.expr.ts comment.block.ts
7676
[69, 9]: source.ts comment.block.ts
77-
[70, 13]: source.ts new.expr.ts comment.block.ts
77+
[70, 13]: source.ts new.expr.ts comment.block.ts

tests/baselines/FunctionMethodOverloads.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@
2626
[17, 5]: source.ts meta.function.ts meta.decl.block.ts keyword.control.ts
2727
[23, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
2828
[23, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
29-
[24, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
30-
[24, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
31-
[25, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
32-
[25, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
33-
[26, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
34-
[26, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
35-
[27, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
36-
[27, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
37-
[28, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
38-
[28, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
29+
[24, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
30+
[24, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
31+
[25, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
32+
[25, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
33+
[26, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
34+
[26, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
35+
[27, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
36+
[27, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
37+
[28, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
38+
[28, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
3939
[29, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts
4040
[32, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
4141
[32, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
@@ -49,4 +49,4 @@
4949
[36, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
5050
[37, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
5151
[37, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
52-
[38, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts
52+
[38, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts

tests/baselines/Issue156.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
[2, 22]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts meta.type.annotation.ts meta.object.type.ts meta.brace.curly.ts
55
[2, 26]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts parameter.name.ts variable.parameter.ts
66
[2, 38]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts meta.type.annotation.ts meta.type.primitive.ts storage.type.ts
7-
[4, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts
7+
[4, 9]: source.ts meta.declaration.object.ts meta.object.body.ts

tests/baselines/Issue191.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[2, 17]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts parameter.name.ts storage.modifier.ts
33
[2, 24]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts parameter.name.ts variable.parameter.ts
44
[2, 33]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts meta.type.annotation.ts meta.type.primitive.ts storage.type.ts
5-
[3, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.var.expr.ts variable.ts
5+
[3, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.var.expr.ts meta.var-variable.expr.ts variable.ts
66
[3, 28]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.type.parameters.ts meta.type.primitive.ts storage.type.ts
77
[3, 37]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.brace.paren.ts
88
[4, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts constant.language.this.ts
@@ -19,7 +19,7 @@
1919
[12, 17]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts parameter.name.ts storage.modifier.ts
2020
[12, 24]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts parameter.name.ts variable.parameter.ts
2121
[12, 33]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts meta.type.annotation.ts meta.type.primitive.ts storage.type.ts
22-
[13, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.var.expr.ts variable.ts
22+
[13, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.var.expr.ts meta.var-variable.expr.ts variable.ts
2323
[13, 28]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.type.parameters.ts meta.type.primitive.ts storage.type.ts
2424
[13, 37]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.brace.paren.ts
2525
[14, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts constant.language.this.ts
@@ -29,4 +29,4 @@
2929
[15, 49]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.brace.paren.ts
3030
[16, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts
3131
[16, 35]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts meta.template.ts string.template.ts
32-
[16, 60]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts meta.brace.paren.ts
32+
[16, 60]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts meta.brace.paren.ts

tests/baselines/Issue288.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
[6, 27]: source.ts meta.function.ts meta.function.type.parameter.ts meta.brace.round.ts
33
[9, 17]: source.ts meta.function.ts entity.name.function.ts
44
[11, 35]: source.ts meta.function.ts meta.function.type.parameter.ts meta.brace.round.ts
5-
[14, 13]: source.ts meta.var.expr.ts variable.ts
5+
[14, 13]: source.ts meta.var.expr.ts meta.var-variable.expr.ts variable.ts
66
[15, 9]: source.ts
7-
[17, 20]: source.ts meta.var.expr.ts variable.ts
8-
[19, 11]: source.ts meta.var.expr.ts variable.ts
7+
[17, 20]: source.ts meta.var.expr.ts meta.var-variable.expr.ts variable.ts
8+
[19, 11]: source.ts meta.var.expr.ts meta.var-variable.expr.ts variable.ts
99
[20, 7]: source.ts
10-
[22, 11]: source.ts meta.var.expr.ts variable.ts
11-
[23, 7]: source.ts
10+
[22, 11]: source.ts meta.var.expr.ts meta.var-variable.expr.ts variable.ts
11+
[23, 7]: source.ts

tests/baselines/Issue335.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
[25, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts
99
[26, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts case.expr.ts keyword.control.ts
1010
[27, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts case.expr.ts keyword.control.ts
11-
[28, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts case.expr.ts keyword.control.ts
11+
[28, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts meta.object.member.ts
1212
[33, 2]: source.ts meta.declaration.object.ts meta.object.body.ts storage.modifier.ts
1313
[33, 10]: source.ts meta.declaration.object.ts meta.object.body.ts keyword.other.ts
1414
[40, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts
1515
[41, 13]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts
1616
[42, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts case.expr.ts keyword.control.ts
1717
[43, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts case.expr.ts keyword.control.ts
18-
[44, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts case.expr.ts keyword.control.ts
18+
[44, 4]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts meta.block.ts meta.object.member.ts
1919
[49, 2]: source.ts meta.declaration.object.ts meta.object.body.ts storage.modifier.ts
20-
[49, 10]: source.ts meta.declaration.object.ts meta.object.body.ts keyword.other.ts
20+
[49, 10]: source.ts meta.declaration.object.ts meta.object.body.ts keyword.other.ts

0 commit comments

Comments
 (0)