Skip to content

Commit 2e117c6

Browse files
committed
Simplify multiline arrow detection
1 parent 4a31715 commit 2e117c6

File tree

3 files changed

+6
-160
lines changed

3 files changed

+6
-160
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,36 +1249,18 @@ repository:
12491249
# but do this only from expression and as last resort
12501250
paren-expression-possibly-arrow:
12511251
patterns:
1252-
- begin: '{{lookBehindOfPossiblyMultilineArrowWithDestructuring}}\s*(async)?(?=\s*{{typeParameters}}\(\s*[\{\[]\s*$)'
1252+
- begin: '{{lookBehindOfPossiblyMultilineArrowWithDestructuring}}\s*(async)?(?=\s*({{typeParameters}})?\(\s*[\{\[]\s*$)'
12531253
beginCaptures:
12541254
'1': { name: storage.modifier.async.ts }
12551255
end: (?<=\))
12561256
patterns:
12571257
- include: '#paren-expression-possibly-arrow-with-typeparameters'
1258-
- begin: '{{lookBehindOfPossiblyMultilineArrow}}\s*(async)?(?=\s*{{typeParameters}}\(\s*$)'
1258+
- begin: '{{lookBehindOfPossiblyMultilineArrow}}\s*(async)?(?=\s*({{typeParameters}})?\(\s*$)'
12591259
beginCaptures:
12601260
'1': { name: storage.modifier.async.ts }
12611261
end: (?<=\))
12621262
patterns:
12631263
- include: '#paren-expression-possibly-arrow-with-typeparameters'
1264-
- begin: '{{lookBehindOfPossiblyMultilineArrowWithDestructuring}}\s*(async)?\s*(\()(?=\s*[\{\[]\s*$)'
1265-
beginCaptures:
1266-
'1': { name: storage.modifier.async.ts }
1267-
'2': { name: meta.brace.round.ts }
1268-
end: \)
1269-
endCaptures:
1270-
'0': { name: meta.brace.round.ts }
1271-
patterns:
1272-
- include: '#expression-inside-possibly-arrow-parens'
1273-
- begin: '{{lookBehindOfPossiblyMultilineArrow}}\s*(async)?\s*(\()(?=\s*$)'
1274-
beginCaptures:
1275-
'1': { name: storage.modifier.async.ts }
1276-
'2': { name: meta.brace.round.ts }
1277-
end: \)
1278-
endCaptures:
1279-
'0': { name: meta.brace.round.ts }
1280-
patterns:
1281-
- include: '#expression-inside-possibly-arrow-parens'
12821264
- include: '#possibly-arrow-return-type'
12831265

12841266
paren-expression-possibly-arrow-with-typeparameters:

TypeScript.tmLanguage

Lines changed: 2 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -3967,7 +3967,7 @@
39673967
<array>
39683968
<dict>
39693969
<key>begin</key>
3970-
<string>(?&lt;=[(=,])\s*(async)?(?=\s*(&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*)\(\s*[\{\[]\s*$)</string>
3970+
<string>(?&lt;=[(=,])\s*(async)?(?=\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?\(\s*[\{\[]\s*$)</string>
39713971
<key>beginCaptures</key>
39723972
<dict>
39733973
<key>1</key>
@@ -3988,7 +3988,7 @@
39883988
</dict>
39893989
<dict>
39903990
<key>begin</key>
3991-
<string>(?&lt;=[(=,]|=&gt;)\s*(async)?(?=\s*(&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*)\(\s*$)</string>
3991+
<string>(?&lt;=[(=,]|=&gt;)\s*(async)?(?=\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?\(\s*$)</string>
39923992
<key>beginCaptures</key>
39933993
<dict>
39943994
<key>1</key>
@@ -4007,74 +4007,6 @@
40074007
</dict>
40084008
</array>
40094009
</dict>
4010-
<dict>
4011-
<key>begin</key>
4012-
<string>(?&lt;=[(=,])\s*(async)?\s*(\()(?=\s*[\{\[]\s*$)</string>
4013-
<key>beginCaptures</key>
4014-
<dict>
4015-
<key>1</key>
4016-
<dict>
4017-
<key>name</key>
4018-
<string>storage.modifier.async.ts</string>
4019-
</dict>
4020-
<key>2</key>
4021-
<dict>
4022-
<key>name</key>
4023-
<string>meta.brace.round.ts</string>
4024-
</dict>
4025-
</dict>
4026-
<key>end</key>
4027-
<string>\)</string>
4028-
<key>endCaptures</key>
4029-
<dict>
4030-
<key>0</key>
4031-
<dict>
4032-
<key>name</key>
4033-
<string>meta.brace.round.ts</string>
4034-
</dict>
4035-
</dict>
4036-
<key>patterns</key>
4037-
<array>
4038-
<dict>
4039-
<key>include</key>
4040-
<string>#expression-inside-possibly-arrow-parens</string>
4041-
</dict>
4042-
</array>
4043-
</dict>
4044-
<dict>
4045-
<key>begin</key>
4046-
<string>(?&lt;=[(=,]|=&gt;)\s*(async)?\s*(\()(?=\s*$)</string>
4047-
<key>beginCaptures</key>
4048-
<dict>
4049-
<key>1</key>
4050-
<dict>
4051-
<key>name</key>
4052-
<string>storage.modifier.async.ts</string>
4053-
</dict>
4054-
<key>2</key>
4055-
<dict>
4056-
<key>name</key>
4057-
<string>meta.brace.round.ts</string>
4058-
</dict>
4059-
</dict>
4060-
<key>end</key>
4061-
<string>\)</string>
4062-
<key>endCaptures</key>
4063-
<dict>
4064-
<key>0</key>
4065-
<dict>
4066-
<key>name</key>
4067-
<string>meta.brace.round.ts</string>
4068-
</dict>
4069-
</dict>
4070-
<key>patterns</key>
4071-
<array>
4072-
<dict>
4073-
<key>include</key>
4074-
<string>#expression-inside-possibly-arrow-parens</string>
4075-
</dict>
4076-
</array>
4077-
</dict>
40784010
<dict>
40794011
<key>include</key>
40804012
<string>#possibly-arrow-return-type</string>

TypeScriptReact.tmLanguage

Lines changed: 2 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -3971,7 +3971,7 @@
39713971
<array>
39723972
<dict>
39733973
<key>begin</key>
3974-
<string>(?&lt;=[(=,])\s*(async)?(?=\s*(&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*)\(\s*[\{\[]\s*$)</string>
3974+
<string>(?&lt;=[(=,])\s*(async)?(?=\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?\(\s*[\{\[]\s*$)</string>
39753975
<key>beginCaptures</key>
39763976
<dict>
39773977
<key>1</key>
@@ -3992,7 +3992,7 @@
39923992
</dict>
39933993
<dict>
39943994
<key>begin</key>
3995-
<string>(?&lt;=[(=,]|=&gt;)\s*(async)?(?=\s*(&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*)\(\s*$)</string>
3995+
<string>(?&lt;=[(=,]|=&gt;)\s*(async)?(?=\s*((&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;]|\&lt;\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=&lt;&gt;]|=[^&lt;])*\&gt;)*&gt;\s*))?\(\s*$)</string>
39963996
<key>beginCaptures</key>
39973997
<dict>
39983998
<key>1</key>
@@ -4011,74 +4011,6 @@
40114011
</dict>
40124012
</array>
40134013
</dict>
4014-
<dict>
4015-
<key>begin</key>
4016-
<string>(?&lt;=[(=,])\s*(async)?\s*(\()(?=\s*[\{\[]\s*$)</string>
4017-
<key>beginCaptures</key>
4018-
<dict>
4019-
<key>1</key>
4020-
<dict>
4021-
<key>name</key>
4022-
<string>storage.modifier.async.tsx</string>
4023-
</dict>
4024-
<key>2</key>
4025-
<dict>
4026-
<key>name</key>
4027-
<string>meta.brace.round.tsx</string>
4028-
</dict>
4029-
</dict>
4030-
<key>end</key>
4031-
<string>\)</string>
4032-
<key>endCaptures</key>
4033-
<dict>
4034-
<key>0</key>
4035-
<dict>
4036-
<key>name</key>
4037-
<string>meta.brace.round.tsx</string>
4038-
</dict>
4039-
</dict>
4040-
<key>patterns</key>
4041-
<array>
4042-
<dict>
4043-
<key>include</key>
4044-
<string>#expression-inside-possibly-arrow-parens</string>
4045-
</dict>
4046-
</array>
4047-
</dict>
4048-
<dict>
4049-
<key>begin</key>
4050-
<string>(?&lt;=[(=,]|=&gt;)\s*(async)?\s*(\()(?=\s*$)</string>
4051-
<key>beginCaptures</key>
4052-
<dict>
4053-
<key>1</key>
4054-
<dict>
4055-
<key>name</key>
4056-
<string>storage.modifier.async.tsx</string>
4057-
</dict>
4058-
<key>2</key>
4059-
<dict>
4060-
<key>name</key>
4061-
<string>meta.brace.round.tsx</string>
4062-
</dict>
4063-
</dict>
4064-
<key>end</key>
4065-
<string>\)</string>
4066-
<key>endCaptures</key>
4067-
<dict>
4068-
<key>0</key>
4069-
<dict>
4070-
<key>name</key>
4071-
<string>meta.brace.round.tsx</string>
4072-
</dict>
4073-
</dict>
4074-
<key>patterns</key>
4075-
<array>
4076-
<dict>
4077-
<key>include</key>
4078-
<string>#expression-inside-possibly-arrow-parens</string>
4079-
</dict>
4080-
</array>
4081-
</dict>
40824014
<dict>
40834015
<key>include</key>
40844016
<string>#possibly-arrow-return-type</string>

0 commit comments

Comments
 (0)