Skip to content

Commit 9a4fc46

Browse files
committed
Fix the nested ternary operator
Fixes #366
1 parent be88474 commit 9a4fc46

File tree

5 files changed

+70
-43
lines changed

5 files changed

+70
-43
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,13 +166,6 @@ repository:
166166
- include: '#punctuation-comma'
167167

168168
ternary-expression:
169-
begin: (?=\?)
170-
end: (?=$|[;,})\]])
171-
patterns:
172-
- include: '#ternary-operator'
173-
- include: '#expression'
174-
175-
ternary-operator:
176169
begin: (\?)
177170
beginCaptures:
178171
'0': { name: keyword.operator.ternary.ts }

TypeScript.tmLanguage

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -471,24 +471,6 @@
471471
</array>
472472
</dict>
473473
<key>ternary-expression</key>
474-
<dict>
475-
<key>begin</key>
476-
<string>(?=\?)</string>
477-
<key>end</key>
478-
<string>(?=$|[;,})\]])</string>
479-
<key>patterns</key>
480-
<array>
481-
<dict>
482-
<key>include</key>
483-
<string>#ternary-operator</string>
484-
</dict>
485-
<dict>
486-
<key>include</key>
487-
<string>#expression</string>
488-
</dict>
489-
</array>
490-
</dict>
491-
<key>ternary-operator</key>
492474
<dict>
493475
<key>begin</key>
494476
<string>(\?)</string>

TypeScriptReact.tmLanguage

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -471,24 +471,6 @@
471471
</array>
472472
</dict>
473473
<key>ternary-expression</key>
474-
<dict>
475-
<key>begin</key>
476-
<string>(?=\?)</string>
477-
<key>end</key>
478-
<string>(?=$|[;,})\]])</string>
479-
<key>patterns</key>
480-
<array>
481-
<dict>
482-
<key>include</key>
483-
<string>#ternary-operator</string>
484-
</dict>
485-
<dict>
486-
<key>include</key>
487-
<string>#expression</string>
488-
</dict>
489-
</array>
490-
</dict>
491-
<key>ternary-operator</key>
492474
<dict>
493475
<key>begin</key>
494476
<string>(\?)</string>

tests/baselines/Issue366.baseline.txt

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
original file
2+
-----------------------------------
3+
let foo = a ? b ? c : d : e;
4+
let bar;
5+
-----------------------------------
6+
7+
Grammar: TypeScript.tmLanguage
8+
-----------------------------------
9+
>let foo = a ? b ? c : d : e;
10+
^^^
11+
source.ts meta.var.expr.ts storage.type.ts
12+
^
13+
source.ts meta.var.expr.ts
14+
^^^
15+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
16+
^
17+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
18+
^
19+
source.ts meta.var.expr.ts keyword.operator.assignment.ts
20+
^
21+
source.ts meta.var.expr.ts
22+
^
23+
source.ts meta.var.expr.ts variable.other.readwrite.ts
24+
^
25+
source.ts meta.var.expr.ts
26+
^
27+
source.ts meta.var.expr.ts keyword.operator.ternary.ts
28+
^
29+
source.ts meta.var.expr.ts
30+
^
31+
source.ts meta.var.expr.ts variable.other.readwrite.ts
32+
^
33+
source.ts meta.var.expr.ts
34+
^
35+
source.ts meta.var.expr.ts keyword.operator.ternary.ts
36+
^
37+
source.ts meta.var.expr.ts
38+
^
39+
source.ts meta.var.expr.ts variable.other.readwrite.ts
40+
^
41+
source.ts meta.var.expr.ts
42+
^
43+
source.ts meta.var.expr.ts keyword.operator.ternary.ts
44+
^
45+
source.ts meta.var.expr.ts
46+
^
47+
source.ts meta.var.expr.ts variable.other.readwrite.ts
48+
^
49+
source.ts meta.var.expr.ts
50+
^
51+
source.ts meta.var.expr.ts keyword.operator.ternary.ts
52+
^
53+
source.ts meta.var.expr.ts
54+
^
55+
source.ts meta.var.expr.ts variable.other.readwrite.ts
56+
^
57+
source.ts punctuation.terminator.statement.ts
58+
^^
59+
source.ts
60+
>let bar;
61+
^^^
62+
source.ts meta.var.expr.ts storage.type.ts
63+
^
64+
source.ts meta.var.expr.ts
65+
^^^
66+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
67+
^
68+
source.ts punctuation.terminator.statement.ts

tests/cases/Issue366.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
let foo = a ? b ? c : d : e;
2+
let bar;

0 commit comments

Comments
 (0)