Skip to content

Commit 4449716

Browse files
committed
Add numberic literal and regex in binding element matching as it might be needed when matching arrow expression spaned on multiple lines
Fixes #711
1 parent b80870c commit 4449716

File tree

6 files changed

+127
-1
lines changed

6 files changed

+127
-1
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,8 @@ repository:
429429
patterns:
430430
- include: '#comment'
431431
- include: '#string'
432+
- include: '#numeric-literal'
433+
- include: '#regex'
432434
- include: '#object-binding-pattern'
433435
- include: '#array-binding-pattern'
434436
- include: '#destructuring-variable-rest'
@@ -438,6 +440,8 @@ repository:
438440
patterns:
439441
- include: '#comment'
440442
- include: '#string'
443+
- include: '#numeric-literal'
444+
- include: '#regex'
441445
- include: '#object-binding-pattern-const'
442446
- include: '#array-binding-pattern-const'
443447
- include: '#destructuring-variable-rest-const'
@@ -566,6 +570,8 @@ repository:
566570
patterns:
567571
- include: '#comment'
568572
- include: '#string'
573+
- include: '#numeric-literal'
574+
- include: '#regex'
569575
- include: '#parameter-object-binding-pattern'
570576
- include: '#parameter-array-binding-pattern'
571577
- include: '#destructuring-parameter-rest'

TypeScript.tmLanguage

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1172,6 +1172,14 @@
11721172
<key>include</key>
11731173
<string>#string</string>
11741174
</dict>
1175+
<dict>
1176+
<key>include</key>
1177+
<string>#numeric-literal</string>
1178+
</dict>
1179+
<dict>
1180+
<key>include</key>
1181+
<string>#regex</string>
1182+
</dict>
11751183
<dict>
11761184
<key>include</key>
11771185
<string>#object-binding-pattern</string>
@@ -1202,6 +1210,14 @@
12021210
<key>include</key>
12031211
<string>#string</string>
12041212
</dict>
1213+
<dict>
1214+
<key>include</key>
1215+
<string>#numeric-literal</string>
1216+
</dict>
1217+
<dict>
1218+
<key>include</key>
1219+
<string>#regex</string>
1220+
</dict>
12051221
<dict>
12061222
<key>include</key>
12071223
<string>#object-binding-pattern-const</string>
@@ -1704,6 +1720,14 @@
17041720
<key>include</key>
17051721
<string>#string</string>
17061722
</dict>
1723+
<dict>
1724+
<key>include</key>
1725+
<string>#numeric-literal</string>
1726+
</dict>
1727+
<dict>
1728+
<key>include</key>
1729+
<string>#regex</string>
1730+
</dict>
17071731
<dict>
17081732
<key>include</key>
17091733
<string>#parameter-object-binding-pattern</string>

TypeScriptReact.tmLanguage

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1176,6 +1176,14 @@
11761176
<key>include</key>
11771177
<string>#string</string>
11781178
</dict>
1179+
<dict>
1180+
<key>include</key>
1181+
<string>#numeric-literal</string>
1182+
</dict>
1183+
<dict>
1184+
<key>include</key>
1185+
<string>#regex</string>
1186+
</dict>
11791187
<dict>
11801188
<key>include</key>
11811189
<string>#object-binding-pattern</string>
@@ -1206,6 +1214,14 @@
12061214
<key>include</key>
12071215
<string>#string</string>
12081216
</dict>
1217+
<dict>
1218+
<key>include</key>
1219+
<string>#numeric-literal</string>
1220+
</dict>
1221+
<dict>
1222+
<key>include</key>
1223+
<string>#regex</string>
1224+
</dict>
12091225
<dict>
12101226
<key>include</key>
12111227
<string>#object-binding-pattern-const</string>
@@ -1708,6 +1724,14 @@
17081724
<key>include</key>
17091725
<string>#string</string>
17101726
</dict>
1727+
<dict>
1728+
<key>include</key>
1729+
<string>#numeric-literal</string>
1730+
</dict>
1731+
<dict>
1732+
<key>include</key>
1733+
<string>#regex</string>
1734+
</dict>
17111735
<dict>
17121736
<key>include</key>
17131737
<string>#parameter-object-binding-pattern</string>

tests/baselines/Issue661.baseline.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@ Grammar: TypeScript.tmLanguage
6060
source.ts meta.var.expr.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts variable.object.property.ts
6161
^
6262
source.ts meta.var.expr.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.destructuring.ts
63-
^^
63+
^
6464
source.ts meta.var.expr.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts
65+
^
66+
source.ts meta.var.expr.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts constant.numeric.decimal.ts
6567
^
6668
source.ts meta.var.expr.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.separator.comma.ts
6769
> foo: 'foo',

tests/baselines/Issue711.baseline.txt

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
original file
2+
-----------------------------------
3+
a => (
4+
{
5+
a: /^mods\//, b: 2
6+
});
7+
-----------------------------------
8+
9+
Grammar: TypeScript.tmLanguage
10+
-----------------------------------
11+
>a => (
12+
^
13+
source.ts meta.arrow.ts variable.parameter.ts
14+
^
15+
source.ts meta.arrow.ts
16+
^^
17+
source.ts meta.arrow.ts storage.type.function.arrow.ts
18+
^
19+
source.ts meta.arrow.ts
20+
^
21+
source.ts meta.arrow.ts meta.brace.round.ts
22+
> {
23+
^
24+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts
25+
^
26+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.definition.binding-pattern.object.ts
27+
> a: /^mods\//, b: 2
28+
^^
29+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts
30+
^
31+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts variable.object.property.ts
32+
^
33+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.destructuring.ts
34+
^
35+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts string.regexp.ts
36+
^
37+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts string.regexp.ts punctuation.definition.string.begin.ts
38+
^
39+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts string.regexp.ts keyword.control.anchor.regexp
40+
^^^^
41+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts string.regexp.ts
42+
^^
43+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts string.regexp.ts constant.character.escape.backslash.regexp
44+
^
45+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts string.regexp.ts punctuation.definition.string.end.ts
46+
^
47+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.separator.comma.ts
48+
^
49+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts
50+
^
51+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts variable.object.property.ts
52+
^
53+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.destructuring.ts
54+
^
55+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts
56+
^
57+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts constant.numeric.decimal.ts
58+
> });
59+
^
60+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts
61+
^
62+
source.ts meta.arrow.ts meta.parameter.object-binding-pattern.ts punctuation.definition.binding-pattern.object.ts
63+
^
64+
source.ts meta.arrow.ts meta.brace.round.ts
65+
^
66+
source.ts punctuation.terminator.statement.ts

tests/cases/Issue711.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
a => (
2+
{
3+
a: /^mods\//, b: 2
4+
});

0 commit comments

Comments
 (0)