Skip to content

Commit 8980e4b

Browse files
committed
Fixed incorrectly matched destructuring parametes in type declaration.
Fixes #675
1 parent 8beee84 commit 8980e4b

File tree

5 files changed

+63
-9
lines changed

5 files changed

+63
-9
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2176,7 +2176,6 @@ repository:
21762176
endCaptures:
21772177
'0': { name: meta.brace.round.ts }
21782178
patterns:
2179-
- include: '#destructuring-parameter'
21802179
#parameter name only if followed by type annotation
21812180
- match: |-
21822181
(?x)(?:{{startOfIdentifier}}(public|private|protected|readonly)\s+)?(?:(\.\.\.)\s*)?(?<!=|:){{startOfIdentifier}}(?:(this)|({{identifier}}))\s*(\??)(?=\s*{{functionLikeType}})

TypeScript.tmLanguage

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6448,10 +6448,6 @@
64486448
</dict>
64496449
<key>patterns</key>
64506450
<array>
6451-
<dict>
6452-
<key>include</key>
6453-
<string>#destructuring-parameter</string>
6454-
</dict>
64556451
<dict>
64566452
<key>match</key>
64576453
<string>(?x)(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(public|private|protected|readonly)\s+)?(?:(\.\.\.)\s*)?(?&lt;!=|:)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\s*(\??)(?=\s*(:\s*(

TypeScriptReact.tmLanguage

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6394,10 +6394,6 @@
63946394
</dict>
63956395
<key>patterns</key>
63966396
<array>
6397-
<dict>
6398-
<key>include</key>
6399-
<string>#destructuring-parameter</string>
6400-
</dict>
64016397
<dict>
64026398
<key>match</key>
64036399
<string>(?x)(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(public|private|protected|readonly)\s+)?(?:(\.\.\.)\s*)?(?&lt;!=|:)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))\s*(\??)(?=\s*(:\s*(

tests/baselines/Issue675.baseline.txt

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
original file
2+
-----------------------------------
3+
type T = { a: number } & ({ b: number })
4+
-----------------------------------
5+
6+
Grammar: TypeScript.tmLanguage
7+
-----------------------------------
8+
>type T = { a: number } & ({ b: number })
9+
^^^^
10+
source.ts meta.type.declaration.ts storage.type.type.ts
11+
^
12+
source.ts meta.type.declaration.ts
13+
^
14+
source.ts meta.type.declaration.ts entity.name.type.alias.ts
15+
^
16+
source.ts meta.type.declaration.ts
17+
^
18+
source.ts meta.type.declaration.ts keyword.operator.assignment.ts
19+
^
20+
source.ts meta.type.declaration.ts
21+
^
22+
source.ts meta.type.declaration.ts meta.object.type.ts punctuation.definition.block.ts
23+
^
24+
source.ts meta.type.declaration.ts meta.object.type.ts meta.field.declaration.ts
25+
^
26+
source.ts meta.type.declaration.ts meta.object.type.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
27+
^
28+
source.ts meta.type.declaration.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
29+
^
30+
source.ts meta.type.declaration.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts
31+
^^^^^^
32+
source.ts meta.type.declaration.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
33+
^
34+
source.ts meta.type.declaration.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts
35+
^
36+
source.ts meta.type.declaration.ts meta.object.type.ts punctuation.definition.block.ts
37+
^
38+
source.ts meta.type.declaration.ts
39+
^
40+
source.ts meta.type.declaration.ts keyword.operator.type.ts
41+
^
42+
source.ts meta.type.declaration.ts
43+
^
44+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.brace.round.ts
45+
^
46+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts punctuation.definition.block.ts
47+
^
48+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts meta.field.declaration.ts
49+
^
50+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
51+
^
52+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
53+
^
54+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts
55+
^^^^^^
56+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
57+
^
58+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts meta.field.declaration.ts meta.type.annotation.ts
59+
^
60+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.object.type.ts punctuation.definition.block.ts
61+
^
62+
source.ts meta.type.declaration.ts meta.type.paren.cover.ts meta.brace.round.ts

tests/cases/Issue675.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type T = { a: number } & ({ b: number })

0 commit comments

Comments
 (0)