Skip to content

Commit d3b73ef

Browse files
committed
Remove usage of \G as the way its handled in sublime and vscode differs
Fixes #312
1 parent acc6b06 commit d3b73ef

40 files changed

+253
-277
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -411,9 +411,9 @@ repository:
411411
- include: "#string"
412412
- include: '#comment'
413413
- include: '#decorator'
414-
- include: '#field-declaration'
415414
- include: '#method-declaration'
416415
- include: '#indexer-declaration'
416+
- include: '#field-declaration'
417417
- include: '#type-annotation'
418418
- include: '#variable-initializer'
419419
- include: '#access-modifier'
@@ -436,9 +436,9 @@ repository:
436436
type-object-members:
437437
patterns:
438438
- include: '#comment'
439-
- include: '#field-declaration'
440439
- include: '#method-declaration'
441440
- include: '#indexer-declaration'
441+
- include: '#field-declaration'
442442
- include: '#type-annotation'
443443
- begin: \.\.\.
444444
beginCaptures:
@@ -451,27 +451,30 @@ repository:
451451

452452
field-declaration:
453453
name: meta.field.declaration.ts
454-
begin: (?<!\()(?:(?<!\.|\$)\b(readonly)\s+)?\s*((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\'[^']*\')|(?:\"[^"]*\"))\s*(\?\s*)?(?=(=|:))
454+
begin: (?<!\()(?:(?<!\.|\$)\b(readonly)\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\?\s*)?(=|:))
455455
beginCaptures:
456456
'1': { name: storage.modifier.ts }
457-
'2': { name: variable.object.property.ts }
458-
'3': { name: keyword.operator.optional.ts }
459457
end: '(?=\}|;|,|$)|(?<=\})'
460458
patterns:
461459
- include: '#variable-initializer'
462-
- begin: \G
463-
end: (?!\G)(?=[};,=]|$)|(?<=\})
460+
- begin: (?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\'[^']*\')|(?:\"[^"]*\")|(\[[^\]]*\]))\s*(\?\s*)?(=|:))
461+
end: (?=[};,=]|$)|(?<=\})
464462
patterns:
465463
- include: '#type-annotation'
466464
- include: '#string'
465+
- include: '#array-literal'
467466
- include: '#comment'
467+
- name: variable.object.property.ts
468+
match: '[_$[:alpha:]][_$[:alnum:]]*'
469+
- name: keyword.operator.optional.ts
470+
match: \?
468471

469472
method-declaration:
470473
name: meta.method.declaration.ts
471-
begin: (?<!\.|\$)(?:\b(abstract)\s+)?(?:\b(public|private|protected)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(?:\b(?:(new)|(constructor))\b(?!\$|:))|(?:(\*)\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??))?\s*[\(\<]))
474+
begin: (?<!\.|\$)(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(?:\b(?:(new)|(constructor))\b(?!\$|:))|(?:(\*)\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??))?\s*[\(\<]))
472475
beginCaptures:
473-
'1': { name: storage.modifier.ts } # captures keyword (abstract)
474-
'2': { name: storage.modifier.ts } # captures keyword (public or private or protected)
476+
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
477+
'2': { name: storage.modifier.ts } # captures keyword (abstract)
475478
'3': { name: storage.modifier.async.ts } # captures keyword (async)
476479
'4': { name: storage.type.property.ts } # captures keyword (get|set)
477480
'5': { name: keyword.operator.new.ts } # captures keyword (new)
@@ -488,7 +491,6 @@ repository:
488491
- include: '#decl-block'
489492

490493
method-overload-declaration:
491-
name: meta.method.overload.declaration.ts
492494
begin: (?<!\.|\$)(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(?:\b(?:(new)|(constructor))\b(?!\$|:))|(?:(\*)\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??))?\s*[\(\<]))
493495
beginCaptures:
494496
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
@@ -503,7 +505,7 @@ repository:
503505
- include: '#method-declaration-name'
504506

505507
method-declaration-name:
506-
begin: \G(?!\(|\<)
508+
begin: (?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??)\s*[\(\<])
507509
end: (?=\(|\<)
508510
patterns:
509511
- include: '#string'
@@ -515,23 +517,17 @@ repository:
515517

516518
indexer-declaration:
517519
name: meta.indexer.declaration.ts
518-
begin: (?:(?<!\.|\$)\b(readonly)\s*)?(\[)(?=\s*[_$[:alpha:]][_$[:alnum:]]*\s*[:\]])
520+
begin: (?:(?<!\.|\$)\b(readonly)\s*)?(\[)\s*([_$[:alpha:]][_$[:alnum:]]*)\s*(?=:)
519521
beginCaptures:
520522
'1': { name: storage.modifier.ts }
521523
'2': { name: meta.brace.square.ts }
524+
'3': { name: variable.parameter.ts}
522525
end: (\])\s*(\?\s*)?|$
523526
endCaptures:
524527
'1': { name: meta.brace.square.ts }
525528
'2': { name: keyword.operator.optional.ts }
526529
patterns:
527530
- include: '#type-annotation'
528-
- include: '#indexer-parameter'
529-
530-
indexer-parameter:
531-
name: meta.indexer.parameter.ts
532-
match: ([_$[:alpha:]][_$[:alnum:]]*)
533-
captures:
534-
'1': { name: variable.parameter.ts}
535531

536532
function-declaration:
537533
name: meta.function.ts

TypeScript.tmLanguage

Lines changed: 33 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,15 +1348,15 @@
13481348
</dict>
13491349
<dict>
13501350
<key>include</key>
1351-
<string>#field-declaration</string>
1351+
<string>#method-declaration</string>
13521352
</dict>
13531353
<dict>
13541354
<key>include</key>
1355-
<string>#method-declaration</string>
1355+
<string>#indexer-declaration</string>
13561356
</dict>
13571357
<dict>
13581358
<key>include</key>
1359-
<string>#indexer-declaration</string>
1359+
<string>#field-declaration</string>
13601360
</dict>
13611361
<dict>
13621362
<key>include</key>
@@ -1430,15 +1430,15 @@
14301430
</dict>
14311431
<dict>
14321432
<key>include</key>
1433-
<string>#field-declaration</string>
1433+
<string>#method-declaration</string>
14341434
</dict>
14351435
<dict>
14361436
<key>include</key>
1437-
<string>#method-declaration</string>
1437+
<string>#indexer-declaration</string>
14381438
</dict>
14391439
<dict>
14401440
<key>include</key>
1441-
<string>#indexer-declaration</string>
1441+
<string>#field-declaration</string>
14421442
</dict>
14431443
<dict>
14441444
<key>include</key>
@@ -1480,24 +1480,14 @@
14801480
<key>name</key>
14811481
<string>meta.field.declaration.ts</string>
14821482
<key>begin</key>
1483-
<string>(?&lt;!\()(?:(?&lt;!\.|\$)\b(readonly)\s+)?\s*((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\'[^']*\')|(?:\"[^"]*\"))\s*(\?\s*)?(?=(=|:))</string>
1483+
<string>(?&lt;!\()(?:(?&lt;!\.|\$)\b(readonly)\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\?\s*)?(=|:))</string>
14841484
<key>beginCaptures</key>
14851485
<dict>
14861486
<key>1</key>
14871487
<dict>
14881488
<key>name</key>
14891489
<string>storage.modifier.ts</string>
14901490
</dict>
1491-
<key>2</key>
1492-
<dict>
1493-
<key>name</key>
1494-
<string>variable.object.property.ts</string>
1495-
</dict>
1496-
<key>3</key>
1497-
<dict>
1498-
<key>name</key>
1499-
<string>keyword.operator.optional.ts</string>
1500-
</dict>
15011491
</dict>
15021492
<key>end</key>
15031493
<string>(?=\}|;|,|$)|(?&lt;=\})</string>
@@ -1509,9 +1499,9 @@
15091499
</dict>
15101500
<dict>
15111501
<key>begin</key>
1512-
<string>\G</string>
1502+
<string>(?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\'[^']*\')|(?:\"[^"]*\")|(\[[^\]]*\]))\s*(\?\s*)?(=|:))</string>
15131503
<key>end</key>
1514-
<string>(?!\G)(?=[};,=]|$)|(?&lt;=\})</string>
1504+
<string>(?=[};,=]|$)|(?&lt;=\})</string>
15151505
<key>patterns</key>
15161506
<array>
15171507
<dict>
@@ -1522,10 +1512,26 @@
15221512
<key>include</key>
15231513
<string>#string</string>
15241514
</dict>
1515+
<dict>
1516+
<key>include</key>
1517+
<string>#array-literal</string>
1518+
</dict>
15251519
<dict>
15261520
<key>include</key>
15271521
<string>#comment</string>
15281522
</dict>
1523+
<dict>
1524+
<key>name</key>
1525+
<string>variable.object.property.ts</string>
1526+
<key>match</key>
1527+
<string>[_$[:alpha:]][_$[:alnum:]]*</string>
1528+
</dict>
1529+
<dict>
1530+
<key>name</key>
1531+
<string>keyword.operator.optional.ts</string>
1532+
<key>match</key>
1533+
<string>\?</string>
1534+
</dict>
15291535
</array>
15301536
</dict>
15311537
</array>
@@ -1535,7 +1541,7 @@
15351541
<key>name</key>
15361542
<string>meta.method.declaration.ts</string>
15371543
<key>begin</key>
1538-
<string>(?&lt;!\.|\$)(?:\b(abstract)\s+)?(?:\b(public|private|protected)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(?:\b(?:(new)|(constructor))\b(?!\$|:))|(?:(\*)\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??))?\s*[\(\&lt;]))</string>
1544+
<string>(?&lt;!\.|\$)(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(?:\b(?:(new)|(constructor))\b(?!\$|:))|(?:(\*)\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??))?\s*[\(\&lt;]))</string>
15391545
<key>beginCaptures</key>
15401546
<dict>
15411547
<key>1</key>
@@ -1610,8 +1616,6 @@
16101616
</dict>
16111617
<key>method-overload-declaration</key>
16121618
<dict>
1613-
<key>name</key>
1614-
<string>meta.method.overload.declaration.ts</string>
16151619
<key>begin</key>
16161620
<string>(?&lt;!\.|\$)(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(?:\b(?:(new)|(constructor))\b(?!\$|:))|(?:(\*)\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??))?\s*[\(\&lt;]))</string>
16171621
<key>beginCaptures</key>
@@ -1665,7 +1669,7 @@
16651669
<key>method-declaration-name</key>
16661670
<dict>
16671671
<key>begin</key>
1668-
<string>\G(?!\(|\&lt;)</string>
1672+
<string>(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\'[^']*\')|(\"[^"]*\")|(\[[^\]]*\]))\s*(\??)\s*[\(\&lt;])</string>
16691673
<key>end</key>
16701674
<string>(?=\(|\&lt;)</string>
16711675
<key>patterns</key>
@@ -1697,7 +1701,7 @@
16971701
<key>name</key>
16981702
<string>meta.indexer.declaration.ts</string>
16991703
<key>begin</key>
1700-
<string>(?:(?&lt;!\.|\$)\b(readonly)\s*)?(\[)(?=\s*[_$[:alpha:]][_$[:alnum:]]*\s*[:\]])</string>
1704+
<string>(?:(?&lt;!\.|\$)\b(readonly)\s*)?(\[)\s*([_$[:alpha:]][_$[:alnum:]]*)\s*(?=:)</string>
17011705
<key>beginCaptures</key>
17021706
<dict>
17031707
<key>1</key>
@@ -1710,6 +1714,11 @@
17101714
<key>name</key>
17111715
<string>meta.brace.square.ts</string>
17121716
</dict>
1717+
<key>3</key>
1718+
<dict>
1719+
<key>name</key>
1720+
<string>variable.parameter.ts</string>
1721+
</dict>
17131722
</dict>
17141723
<key>end</key>
17151724
<string>(\])\s*(\?\s*)?|$</string>
@@ -1732,27 +1741,8 @@
17321741
<key>include</key>
17331742
<string>#type-annotation</string>
17341743
</dict>
1735-
<dict>
1736-
<key>include</key>
1737-
<string>#indexer-parameter</string>
1738-
</dict>
17391744
</array>
17401745
</dict>
1741-
<key>indexer-parameter</key>
1742-
<dict>
1743-
<key>name</key>
1744-
<string>meta.indexer.parameter.ts</string>
1745-
<key>match</key>
1746-
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
1747-
<key>captures</key>
1748-
<dict>
1749-
<key>1</key>
1750-
<dict>
1751-
<key>name</key>
1752-
<string>variable.parameter.ts</string>
1753-
</dict>
1754-
</dict>
1755-
</dict>
17561746
<key>function-declaration</key>
17571747
<dict>
17581748
<key>name</key>

0 commit comments

Comments
 (0)