Skip to content

Commit b83a38f

Browse files
committed
Merge branch 'master' into multiLineArrowParameters
2 parents ee94bd5 + 4ef3570 commit b83a38f

File tree

7 files changed

+452
-11
lines changed

7 files changed

+452
-11
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -431,11 +431,13 @@ repository:
431431
- include: '#string'
432432
- include: '#array-literal'
433433
- include: '#comment'
434-
- name: meta.definition.property.ts entity.name.function.ts
435-
# function assignment |
436-
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
437-
match: |-
438-
(?x)({{identifier}})(?=(\?\s*)?{{functionLikeAssignmentOrType}})
434+
# function assignment |
435+
# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) =>
436+
- match: |-
437+
(?x)({{identifier}})(\?)?(?=(\?\s*)?{{functionLikeAssignmentOrType}})
438+
captures:
439+
'1': { name: meta.definition.property.ts entity.name.function.ts }
440+
'2': { name: keyword.operator.optional.ts }
439441
- name: meta.definition.property.ts variable.object.property.ts
440442
match: '{{identifier}}'
441443
- name: keyword.operator.optional.ts
@@ -1990,6 +1992,8 @@ repository:
19901992
match: (\?|\:)
19911993
- name: keyword.operator.expression.infer.ts
19921994
match: '{{startOfIdentifier}}infer(?=\s+[_$[:alpha:]])'
1995+
- name: keyword.operator.expression.import.ts
1996+
match: '{{startOfIdentifier}}import(?=\s*\()'
19931997

19941998
type-predicate-operator:
19951999
name: keyword.operator.expression.is.ts

TypeScript.tmLanguage

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,10 +1242,8 @@
12421242
<string>#comment</string>
12431243
</dict>
12441244
<dict>
1245-
<key>name</key>
1246-
<string>meta.definition.property.ts entity.name.function.ts</string>
12471245
<key>match</key>
1248-
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\?\s*)?\s*
1246+
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(\?)?(?=(\?\s*)?\s*
12491247
# function assignment |
12501248
(=\s*(
12511249
((async\s+)?(
@@ -1315,6 +1313,19 @@
13151313
)
13161314
))
13171315
)))</string>
1316+
<key>captures</key>
1317+
<dict>
1318+
<key>1</key>
1319+
<dict>
1320+
<key>name</key>
1321+
<string>meta.definition.property.ts entity.name.function.ts</string>
1322+
</dict>
1323+
<key>2</key>
1324+
<dict>
1325+
<key>name</key>
1326+
<string>keyword.operator.optional.ts</string>
1327+
</dict>
1328+
</dict>
13181329
</dict>
13191330
<dict>
13201331
<key>name</key>
@@ -5622,6 +5633,12 @@
56225633
<key>match</key>
56235634
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))infer(?=\s+[_$[:alpha:]])</string>
56245635
</dict>
5636+
<dict>
5637+
<key>name</key>
5638+
<string>keyword.operator.expression.import.ts</string>
5639+
<key>match</key>
5640+
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))import(?=\s*\()</string>
5641+
</dict>
56255642
</array>
56265643
</dict>
56275644
<key>type-predicate-operator</key>

TypeScriptReact.tmLanguage

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,10 +1246,8 @@
12461246
<string>#comment</string>
12471247
</dict>
12481248
<dict>
1249-
<key>name</key>
1250-
<string>meta.definition.property.tsx entity.name.function.tsx</string>
12511249
<key>match</key>
1252-
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\?\s*)?\s*
1250+
<string>(?x)([_$[:alpha:]][_$[:alnum:]]*)(\?)?(?=(\?\s*)?\s*
12531251
# function assignment |
12541252
(=\s*(
12551253
((async\s+)?(
@@ -1319,6 +1317,19 @@
13191317
)
13201318
))
13211319
)))</string>
1320+
<key>captures</key>
1321+
<dict>
1322+
<key>1</key>
1323+
<dict>
1324+
<key>name</key>
1325+
<string>meta.definition.property.tsx entity.name.function.tsx</string>
1326+
</dict>
1327+
<key>2</key>
1328+
<dict>
1329+
<key>name</key>
1330+
<string>keyword.operator.optional.tsx</string>
1331+
</dict>
1332+
</dict>
13221333
</dict>
13231334
<dict>
13241335
<key>name</key>
@@ -5568,6 +5579,12 @@
55685579
<key>match</key>
55695580
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))infer(?=\s+[_$[:alpha:]])</string>
55705581
</dict>
5582+
<dict>
5583+
<key>name</key>
5584+
<string>keyword.operator.expression.import.tsx</string>
5585+
<key>match</key>
5586+
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))import(?=\s*\()</string>
5587+
</dict>
55715588
</array>
55725589
</dict>
55735590
<key>type-predicate-operator</key>

tests/baselines/Issue581.baseline.txt

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
original file
2+
-----------------------------------
3+
interface Foo {
4+
a: () => void;
5+
b?: () => void;
6+
}
7+
-----------------------------------
8+
9+
Grammar: TypeScript.tmLanguage
10+
-----------------------------------
11+
>interface Foo {
12+
^^^^^^^^^
13+
source.ts meta.interface.ts storage.type.interface.ts
14+
^
15+
source.ts meta.interface.ts
16+
^^^
17+
source.ts meta.interface.ts entity.name.type.interface.ts
18+
^
19+
source.ts meta.interface.ts
20+
^
21+
source.ts meta.interface.ts punctuation.definition.block.ts
22+
^^
23+
source.ts meta.interface.ts
24+
> a: () => void;
25+
^^
26+
source.ts meta.interface.ts
27+
^
28+
source.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
29+
^
30+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
31+
^
32+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
33+
^
34+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
35+
^
36+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.end.ts
37+
^
38+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
39+
^^
40+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.return.ts storage.type.function.arrow.ts
41+
^
42+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.return.ts
43+
^^^^
44+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.return.ts support.type.primitive.ts
45+
^
46+
source.ts meta.interface.ts punctuation.terminator.statement.ts
47+
^^
48+
source.ts meta.interface.ts
49+
> b?: () => void;
50+
^^
51+
source.ts meta.interface.ts
52+
^
53+
source.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts entity.name.function.ts
54+
^
55+
source.ts meta.interface.ts meta.field.declaration.ts keyword.operator.optional.ts
56+
^
57+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
58+
^
59+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
60+
^
61+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.begin.ts
62+
^
63+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.ts meta.parameters.ts punctuation.definition.parameters.end.ts
64+
^
65+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
66+
^^
67+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.return.ts storage.type.function.arrow.ts
68+
^
69+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.return.ts
70+
^^^^
71+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts meta.type.function.return.ts support.type.primitive.ts
72+
^
73+
source.ts meta.interface.ts punctuation.terminator.statement.ts
74+
^^
75+
source.ts meta.interface.ts
76+
>}
77+
^
78+
source.ts meta.interface.ts punctuation.definition.block.ts

0 commit comments

Comments
 (0)