Skip to content

Commit cea95d3

Browse files
committed
Stop consuming spaces when determining function type and parenthesized type
Fixes #347
1 parent ca47120 commit cea95d3

17 files changed

+248
-39
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -870,9 +870,9 @@ repository:
870870
# (number | (param: number, param2: string) => void)
871871
type-paren-or-function-parameters:
872872
name: meta.type.paren.cover.ts
873-
begin: '\s*(\()'
873+
begin: '\('
874874
beginCaptures:
875-
'1': { name: meta.brace.round.ts }
875+
'0': { name: meta.brace.round.ts }
876876
end: '\)'
877877
endCaptures:
878878
'0': { name: meta.brace.round.ts }
@@ -903,7 +903,6 @@ repository:
903903
# () | (... | (param: | (param, | (param? | (param= | (param) =>
904904
- name: meta.type.function.ts
905905
begin: '(?x)(
906-
\s*
907906
(?=
908907
[(]\s*(
909908
([)]) |

TypeScript.tmLanguage

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2633,10 +2633,10 @@
26332633
<key>name</key>
26342634
<string>meta.type.paren.cover.ts</string>
26352635
<key>begin</key>
2636-
<string>\s*(\()</string>
2636+
<string>\(</string>
26372637
<key>beginCaptures</key>
26382638
<dict>
2639-
<key>1</key>
2639+
<key>0</key>
26402640
<dict>
26412641
<key>name</key>
26422642
<string>meta.brace.round.ts</string>
@@ -2724,7 +2724,7 @@
27242724
<key>name</key>
27252725
<string>meta.type.function.ts</string>
27262726
<key>begin</key>
2727-
<string>(?x)( \s* (?= [(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ) ) )</string>
2727+
<string>(?x)( (?= [(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ) ) )</string>
27282728
<key>end</key>
27292729
<string>(?&lt;=\))</string>
27302730
<key>patterns</key>

TypeScriptReact.tmLanguage

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2637,10 +2637,10 @@
26372637
<key>name</key>
26382638
<string>meta.type.paren.cover.tsx</string>
26392639
<key>begin</key>
2640-
<string>\s*(\()</string>
2640+
<string>\(</string>
26412641
<key>beginCaptures</key>
26422642
<dict>
2643-
<key>1</key>
2643+
<key>0</key>
26442644
<dict>
26452645
<key>name</key>
26462646
<string>meta.brace.round.tsx</string>
@@ -2728,7 +2728,7 @@
27282728
<key>name</key>
27292729
<string>meta.type.function.tsx</string>
27302730
<key>begin</key>
2731-
<string>(?x)( \s* (?= [(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ) ) )</string>
2731+
<string>(?x)( (?= [(]\s*( ([)]) | (\.\.\.) | ([_$[:alnum:]]+\s*( ([:,?=])| ([)]\s*=&gt;) )) ) ) )</string>
27322732
<key>end</key>
27332733
<string>(?&lt;=\))</string>
27342734
<key>patterns</key>

tests/baselines/ArrowFunctionInsideTypeAssertion.baseline.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ Grammar: TypeScript.tmLanguage
239239
^
240240
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.ts
241241
^
242-
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.paren.cover.ts
242+
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts
243243
^
244244
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.paren.cover.ts meta.brace.round.ts
245245
^

tests/baselines/FunctionMethodParameters.baseline.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ Grammar: TypeScript.tmLanguage
143143
^
144144
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
145145
^
146-
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts
146+
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts
147147
^
148148
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
149149
^
@@ -166,7 +166,7 @@ Grammar: TypeScript.tmLanguage
166166
^
167167
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
168168
^
169-
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts
169+
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts
170170
^
171171
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
172172
^
@@ -316,7 +316,7 @@ Grammar: TypeScript.tmLanguage
316316
^
317317
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
318318
^
319-
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.paren.cover.ts
319+
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts
320320
^
321321
source.ts meta.function.ts meta.parameters.ts meta.type.annotation.ts meta.type.paren.cover.ts meta.brace.round.ts
322322
^
@@ -501,7 +501,7 @@ Grammar: TypeScript.tmLanguage
501501
^
502502
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
503503
^
504-
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts
504+
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts
505505
^
506506
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
507507
^
@@ -524,7 +524,7 @@ Grammar: TypeScript.tmLanguage
524524
^
525525
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
526526
^
527-
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts
527+
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts
528528
^
529529
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
530530
^
@@ -674,7 +674,7 @@ Grammar: TypeScript.tmLanguage
674674
^
675675
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
676676
^
677-
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.paren.cover.ts
677+
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts
678678
^
679679
source.ts meta.class.ts meta.method.declaration.ts meta.parameters.ts meta.type.annotation.ts meta.type.paren.cover.ts meta.brace.round.ts
680680
^

tests/baselines/FunctionMethodReturnTypes.baseline.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ Grammar: TypeScript.tmLanguage
444444
^
445445
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.annotation.ts
446446
^
447-
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts
447+
source.ts meta.function.ts meta.return.type.ts
448448
^
449449
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
450450
^
@@ -509,7 +509,7 @@ Grammar: TypeScript.tmLanguage
509509
^
510510
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.annotation.ts
511511
^
512-
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts
512+
source.ts meta.function.ts meta.return.type.ts
513513
^
514514
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
515515
^
@@ -580,7 +580,7 @@ Grammar: TypeScript.tmLanguage
580580
^
581581
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.annotation.ts
582582
^
583-
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts
583+
source.ts meta.function.ts meta.return.type.ts
584584
^
585585
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
586586
^
@@ -602,7 +602,7 @@ Grammar: TypeScript.tmLanguage
602602
^
603603
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.ts
604604
^
605-
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts
605+
source.ts meta.function.ts meta.return.type.ts
606606
^
607607
source.ts meta.function.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
608608
^
@@ -1338,7 +1338,7 @@ Grammar: TypeScript.tmLanguage
13381338
^
13391339
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts keyword.operator.type.annotation.ts
13401340
^
1341-
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts
1341+
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts
13421342
^
13431343
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
13441344
^
@@ -1401,7 +1401,7 @@ Grammar: TypeScript.tmLanguage
14011401
^
14021402
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts keyword.operator.type.annotation.ts
14031403
^
1404-
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts
1404+
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts
14051405
^
14061406
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
14071407
^
@@ -1470,7 +1470,7 @@ Grammar: TypeScript.tmLanguage
14701470
^
14711471
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts keyword.operator.type.annotation.ts
14721472
^
1473-
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts
1473+
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts
14741474
^
14751475
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
14761476
^
@@ -1492,7 +1492,7 @@ Grammar: TypeScript.tmLanguage
14921492
^
14931493
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts keyword.operator.type.ts
14941494
^
1495-
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts
1495+
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts
14961496
^
14971497
source.ts meta.class.ts meta.method.declaration.ts meta.return.type.ts meta.type.paren.cover.ts meta.brace.round.ts
14981498
^

tests/baselines/Issue133.baseline.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Grammar: TypeScript.tmLanguage
4444
^
4545
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
4646
^
47-
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.ts
47+
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts
4848
^
4949
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
5050
^

tests/baselines/Issue178.baseline.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Grammar: TypeScript.tmLanguage
3939
^
4040
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
4141
^
42-
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts meta.type.function.ts
42+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts
4343
^
4444
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
4545
^
@@ -106,7 +106,7 @@ Grammar: TypeScript.tmLanguage
106106
^
107107
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts meta.type.tuple.ts punctuation.separator.comma.ts
108108
^
109-
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts meta.type.tuple.ts meta.type.function.ts
109+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts meta.type.tuple.ts
110110
^
111111
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts meta.object.type.ts meta.type.annotation.ts meta.type.tuple.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
112112
^

tests/baselines/Issue241.baseline.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Grammar: TypeScript.tmLanguage
3333
^
3434
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.annotation.ts
3535
^
36-
source.ts meta.function.ts meta.return.type.ts meta.type.function.ts
36+
source.ts meta.function.ts meta.return.type.ts
3737
^
3838
source.ts meta.function.ts meta.return.type.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
3939
^
@@ -100,7 +100,7 @@ Grammar: TypeScript.tmLanguage
100100
^
101101
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts punctuation.separator.comma.ts
102102
^
103-
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts meta.type.function.ts
103+
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts
104104
^
105105
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
106106
^
@@ -161,7 +161,7 @@ Grammar: TypeScript.tmLanguage
161161
^
162162
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.annotation.ts
163163
^
164-
source.ts meta.function.ts meta.return.type.ts meta.type.function.ts
164+
source.ts meta.function.ts meta.return.type.ts
165165
^
166166
source.ts meta.function.ts meta.return.type.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
167167
^
@@ -220,7 +220,7 @@ Grammar: TypeScript.tmLanguage
220220
^
221221
source.ts meta.function.ts meta.return.type.ts keyword.operator.type.annotation.ts
222222
^
223-
source.ts meta.function.ts meta.return.type.ts meta.type.function.ts
223+
source.ts meta.function.ts meta.return.type.ts
224224
^
225225
source.ts meta.function.ts meta.return.type.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
226226
^
@@ -297,7 +297,7 @@ Grammar: TypeScript.tmLanguage
297297
^
298298
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts punctuation.separator.comma.ts
299299
^
300-
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts meta.type.function.ts
300+
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts
301301
^
302302
source.ts meta.function.ts meta.return.type.ts meta.type.tuple.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
303303
^

0 commit comments

Comments
 (0)