@@ -51,14 +51,17 @@ repository:
51
51
begin : |-
52
52
(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\s*
53
53
(=\s*(
54
- (async\s+) |
55
- (function\s*[(<]) |
56
- (function\s+) |
57
- ([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
58
- ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
59
- ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
60
- ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))
61
- ) |
54
+ ((async\s+)?(
55
+ (function\s*[(<]) |
56
+ (function\s+) |
57
+ ([_$[:alpha:]][_$[:alnum:]]*\s*=>)
58
+ )) |
59
+ ((async\s*)?(
60
+ ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
61
+ ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
62
+ ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)
63
+ ))
64
+ )) |
62
65
(:\s*(
63
66
(<) |
64
67
([(]\s*(
@@ -68,8 +71,8 @@ repository:
68
71
([:,?=])|
69
72
([)]\s*=>)
70
73
))
71
- )))
72
- )
74
+ ))
75
+ ))
73
76
)
74
77
beginCaptures :
75
78
' 1 ' : { name: meta.definition.variable.ts entity.name.function.ts }
@@ -537,14 +540,17 @@ repository:
537
540
match : |-
538
541
(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\?\s*)?\s*
539
542
(=\s*(
540
- (async\s+) |
541
- (function\s*[(<]) |
542
- (function\s+) |
543
- ([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
544
- ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
545
- ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
546
- ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))
547
- ) |
543
+ ((async\s+)?(
544
+ (function\s*[(<]) |
545
+ (function\s+) |
546
+ ([_$[:alpha:]][_$[:alnum:]]*\s*=>)
547
+ )) |
548
+ ((async\s*)?(
549
+ ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
550
+ ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
551
+ ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)
552
+ ))
553
+ )) |
548
554
(:\s*(
549
555
(<) |
550
556
([(]\s*(
@@ -554,8 +560,8 @@ repository:
554
560
([:,?=])|
555
561
([)]\s*=>)
556
562
))
557
- )))
558
- )
563
+ ))
564
+ ))
559
565
)
560
566
- name : meta.definition.property.ts variable.object.property.ts
561
567
match : ' [_$[:alpha:]][_$[:alnum:]]*'
@@ -725,14 +731,17 @@ repository:
725
731
- match : |-
726
732
(?x)(?:\s*\b(public|private|protected|readonly)\s+)?(\.\.\.)?\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\s*(\??)(?=\s*
727
733
(=\s*(
728
- (async\s+) |
729
- (function\s*[(<]) |
730
- (function\s+) |
731
- ([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
732
- ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
733
- ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
734
- ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))
735
- ) |
734
+ ((async\s+)?(
735
+ (function\s*[(<]) |
736
+ (function\s+) |
737
+ ([_$[:alpha:]][_$[:alnum:]]*\s*=>)
738
+ )) |
739
+ ((async\s*)?(
740
+ ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
741
+ ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
742
+ ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)
743
+ ))
744
+ )) |
736
745
(:\s*(
737
746
(<) |
738
747
([(]\s*(
@@ -742,8 +751,8 @@ repository:
742
751
([:,?=])|
743
752
([)]\s*=>)
744
753
))
745
- )))
746
- )
754
+ ))
755
+ ))
747
756
)
748
757
captures:
749
758
'1': { name: storage.modifier.ts }
@@ -1396,11 +1405,17 @@ repository:
1396
1405
# function and method assignment
1397
1406
- match : |-
1398
1407
(?x)(?:(\.)\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\s*=\s*(
1399
- (async\s+)|(function\s*[(<])|(function\s+)|
1400
- ([_$[:alpha:]][_$[:alnum:]]*\s*=>)|
1401
- ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
1402
- ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
1403
- ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)))
1408
+ ((async\s+)?(
1409
+ (function\s*[(<]) |
1410
+ (function\s+) |
1411
+ ([_$[:alpha:]][_$[:alnum:]]*\s*=>)
1412
+ )) |
1413
+ ((async\s*)?(
1414
+ ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
1415
+ ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
1416
+ ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)
1417
+ ))
1418
+ ))
1404
1419
captures:
1405
1420
'1': { name: punctuation.accessor.ts }
1406
1421
'2': { name: entity.name.function.ts }
@@ -1515,11 +1530,17 @@ repository:
1515
1530
- name : meta.object.member.ts
1516
1531
begin : |-
1517
1532
(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\s*(:)(?=\s*(
1518
- (async\s+)|(function\s*[(<])|(function\s+)|
1519
- ([_$[:alpha:]][_$[:alnum:]]*\s*=>)|
1520
- ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
1521
- ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
1522
- ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>))))
1533
+ ((async\s+)?(
1534
+ (function\s*[(<]) |
1535
+ (function\s+) |
1536
+ ([_$[:alpha:]][_$[:alnum:]]*\s*=>)
1537
+ )) |
1538
+ ((async\s*)?(
1539
+ ([(]\s*(([)]\s*:)|([_$[:alpha:]][_$[:alnum:]]*\s*:)|(\.\.\.) )) |
1540
+ ([<]\s*[_$[:alpha:]][_$[:alnum:]]*((\s+extends\s*[^=>])|(\s*[,]))) |
1541
+ ((<([^<>=]|=[^<]|\<([^=<>]|=[^<])+\>)+>\s*)?\(([^()]|\([^()]*\))*\)(\s*:\s*(.)*)?\s*=>)
1542
+ ))
1543
+ )))
1523
1544
beginCaptures :
1524
1545
' 0 ' : { name: meta.object-literal.key.ts }
1525
1546
' 1 ' : { name: entity.name.function.ts }
@@ -1613,7 +1634,7 @@ repository:
1613
1634
patterns :
1614
1635
# arrow with single parameter without parenthesis
1615
1636
- name : meta.arrow.ts
1616
- match : (?:(?<!\.|\$)(\basync)\s* )?([_$[:alpha:]][_$[:alnum:]]*)\s*(?==>)
1637
+ match : (?:(?<!\.|\$)(\basync)\s+ )?([_$[:alpha:]][_$[:alnum:]]*)\s*(?==>)
1617
1638
captures :
1618
1639
' 1 ' : { name: storage.modifier.async.ts }
1619
1640
' 2 ' : { name: variable.parameter.ts }
@@ -1622,8 +1643,8 @@ repository:
1622
1643
begin : >-
1623
1644
(?x)
1624
1645
(?:
1625
- (?<!\.|\$)(\basync)(?=\s*[<(])
1626
- ) |
1646
+ (?<!\.|\$)(\basync)
1647
+ )?
1627
1648
((?<![})\]])\s*
1628
1649
(?=
1629
1650
# sure shot arrow functions even if => is on new line
0 commit comments