Skip to content

Commit 1cf745c

Browse files
authored
Merge pull request #209 from Microsoft/issue_200
Fixes Issue #200, Correcting case/default expression clause
2 parents 2797fa6 + 55b8661 commit 1cf745c

File tree

6 files changed

+179
-162
lines changed

6 files changed

+179
-162
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ repository:
3737
end: (?=$|[;,])
3838
patterns:
3939
- include: '#ternary-operator'
40-
- include: '#ternary-expression-type'
40+
- include: '#expression-type'
4141

4242
ternary-operator:
4343
begin: (\?)
4444
end: (:)
4545
patterns:
46-
- include: '#ternary-expression-type'
46+
- include: '#expression-type'
4747

48-
ternary-expression-type:
48+
expression-type:
4949
name: meta.expression.ts
5050
patterns:
5151
- include: '#string'
@@ -466,12 +466,12 @@ repository:
466466

467467
case-clause:
468468
name: case-clause.expr.ts
469-
begin: '(?<!\.)\b(case|default)\b'
469+
begin: '(?<!\.)\b(case|default(?=:))\b'
470470
beginCaptures:
471471
'1': { name: keyword.control.ts }
472472
end: ':'
473473
patterns:
474-
- include: '#expression'
474+
- include: '#expression-type'
475475

476476
switch-statement:
477477
name: switch-statement.expr.ts

TypeScript.tmLanguage

Lines changed: 76 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
<key>case-clause</key>
124124
<dict>
125125
<key>begin</key>
126-
<string>(?&lt;!\.)\b(case|default)\b</string>
126+
<string>(?&lt;!\.)\b(case|default(?=:))\b</string>
127127
<key>beginCaptures</key>
128128
<dict>
129129
<key>1</key>
@@ -140,7 +140,7 @@
140140
<array>
141141
<dict>
142142
<key>include</key>
143-
<string>#expression</string>
143+
<string>#expression-type</string>
144144
</dict>
145145
</array>
146146
</dict>
@@ -424,6 +424,78 @@
424424
<key>name</key>
425425
<string>keyword.others.ts</string>
426426
</dict>
427+
<key>expression-type</key>
428+
<dict>
429+
<key>name</key>
430+
<string>meta.expression.ts</string>
431+
<key>patterns</key>
432+
<array>
433+
<dict>
434+
<key>include</key>
435+
<string>#string</string>
436+
</dict>
437+
<dict>
438+
<key>include</key>
439+
<string>#regex</string>
440+
</dict>
441+
<dict>
442+
<key>include</key>
443+
<string>#template</string>
444+
</dict>
445+
<dict>
446+
<key>include</key>
447+
<string>#comment</string>
448+
</dict>
449+
<dict>
450+
<key>include</key>
451+
<string>#literal</string>
452+
</dict>
453+
<dict>
454+
<key>include</key>
455+
<string>#paren-expression</string>
456+
</dict>
457+
<dict>
458+
<key>include</key>
459+
<string>#ternary-expression</string>
460+
</dict>
461+
<dict>
462+
<key>include</key>
463+
<string>#import-operator</string>
464+
</dict>
465+
<dict>
466+
<key>include</key>
467+
<string>#expression-operator</string>
468+
</dict>
469+
<dict>
470+
<key>include</key>
471+
<string>#imply-operator</string>
472+
</dict>
473+
<dict>
474+
<key>include</key>
475+
<string>#relational-operator</string>
476+
</dict>
477+
<dict>
478+
<key>include</key>
479+
<string>#arithmetic-operator</string>
480+
</dict>
481+
<dict>
482+
<key>include</key>
483+
<string>#logic-operator</string>
484+
</dict>
485+
<dict>
486+
<key>include</key>
487+
<string>#assignment-operator</string>
488+
</dict>
489+
<dict>
490+
<key>include</key>
491+
<string>#type-primitive</string>
492+
</dict>
493+
<dict>
494+
<key>include</key>
495+
<string>#function-call</string>
496+
</dict>
497+
</array>
498+
</dict>
427499
<key>field-declaration</key>
428500
<dict>
429501
<key>begin</key>
@@ -1462,79 +1534,7 @@
14621534
</dict>
14631535
<dict>
14641536
<key>include</key>
1465-
<string>#ternary-expression-type</string>
1466-
</dict>
1467-
</array>
1468-
</dict>
1469-
<key>ternary-expression-type</key>
1470-
<dict>
1471-
<key>name</key>
1472-
<string>meta.expression.ts</string>
1473-
<key>patterns</key>
1474-
<array>
1475-
<dict>
1476-
<key>include</key>
1477-
<string>#string</string>
1478-
</dict>
1479-
<dict>
1480-
<key>include</key>
1481-
<string>#regex</string>
1482-
</dict>
1483-
<dict>
1484-
<key>include</key>
1485-
<string>#template</string>
1486-
</dict>
1487-
<dict>
1488-
<key>include</key>
1489-
<string>#comment</string>
1490-
</dict>
1491-
<dict>
1492-
<key>include</key>
1493-
<string>#literal</string>
1494-
</dict>
1495-
<dict>
1496-
<key>include</key>
1497-
<string>#paren-expression</string>
1498-
</dict>
1499-
<dict>
1500-
<key>include</key>
1501-
<string>#ternary-expression</string>
1502-
</dict>
1503-
<dict>
1504-
<key>include</key>
1505-
<string>#import-operator</string>
1506-
</dict>
1507-
<dict>
1508-
<key>include</key>
1509-
<string>#expression-operator</string>
1510-
</dict>
1511-
<dict>
1512-
<key>include</key>
1513-
<string>#imply-operator</string>
1514-
</dict>
1515-
<dict>
1516-
<key>include</key>
1517-
<string>#relational-operator</string>
1518-
</dict>
1519-
<dict>
1520-
<key>include</key>
1521-
<string>#arithmetic-operator</string>
1522-
</dict>
1523-
<dict>
1524-
<key>include</key>
1525-
<string>#logic-operator</string>
1526-
</dict>
1527-
<dict>
1528-
<key>include</key>
1529-
<string>#assignment-operator</string>
1530-
</dict>
1531-
<dict>
1532-
<key>include</key>
1533-
<string>#type-primitive</string>
1534-
</dict>
1535-
<dict>
1536-
<key>include</key>
1537-
<string>#function-call</string>
1537+
<string>#expression-type</string>
15381538
</dict>
15391539
</array>
15401540
</dict>
@@ -1548,7 +1548,7 @@
15481548
<array>
15491549
<dict>
15501550
<key>include</key>
1551-
<string>#ternary-expression-type</string>
1551+
<string>#expression-type</string>
15521552
</dict>
15531553
</array>
15541554
</dict>

TypeScriptReact.YAML-tmLanguage

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ repository:
3939
end: (?=$|[;,])
4040
patterns:
4141
- include: '#ternary-operator'
42-
- include: '#ternary-expression-type'
42+
- include: '#expression-type'
4343

4444
ternary-operator:
4545
begin: (\?)
4646
end: (:)
4747
patterns:
48-
- include: '#ternary-expression-type'
48+
- include: '#expression-type'
4949

50-
ternary-expression-type:
50+
expression-type:
5151
name: meta.expression.tsx
5252
patterns:
5353
- include: '#string'
@@ -468,12 +468,12 @@ repository:
468468

469469
case-clause:
470470
name: case-clause.expr.tsx
471-
begin: '(?<!\.)\b(case|default)\b'
471+
begin: '(?<!\.)\b(case|default(?=:))\b'
472472
beginCaptures:
473473
'1': { name: keyword.control.tsx }
474474
end: ':'
475475
patterns:
476-
- include: '#expression'
476+
- include: '#expression-type'
477477

478478
switch-statement:
479479
name: switch-statement.expr.tsx

0 commit comments

Comments
 (0)