Skip to content

Commit 06dee86

Browse files
committed
Uniformly handle the leading white spaces for array literal, binding patterns, method/field declarations
Fixes #624
1 parent 53ce68b commit 06dee86

File tree

109 files changed

+445
-346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+445
-346
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -462,14 +462,14 @@ repository:
462462

463463
field-declaration:
464464
name: meta.field.declaration.ts
465-
begin: (?x)(?<!\()(?:{{startOfIdentifier}}(readonly)\s+)?(?={{propertyName}}\s*(\?\s*)?(=|:))
465+
begin: (?x)(?<!\()(?:{{startOfIdentifier}}(readonly)\s+)?(?=\s*{{propertyName}}\s*(\?\s*)?(=|:))
466466
beginCaptures:
467467
'1': { name: storage.modifier.ts }
468-
end: (?x)(?=\}|;|,|$|(^(?!{{propertyName}}\s*(\?\s*)?(=|:))))|(?<=\})
468+
end: (?x)(?=\}|;|,|$|(^(?!\s*{{propertyName}}\s*(\?\s*)?(=|:))))|(?<=\})
469469
patterns:
470470
- include: '#variable-initializer'
471471
- begin: (?x)(?={{propertyName}}\s*(\?\s*)?(=|:))
472-
end: (?x)(?=[};,=]|$|(^(?!{{propertyName}}\s*(\?\s*)?(=|:))))|(?<=\})
472+
end: (?x)(?=[};,=]|$|(^(?!\s*{{propertyName}}\s*(\?\s*)?(=|:))))|(?<=\})
473473
patterns:
474474
- include: '#type-annotation'
475475
- include: '#string'
@@ -551,7 +551,7 @@ repository:
551551
patterns:
552552
# constructor signature
553553
- name: meta.method.declaration.ts
554-
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?\b(constructor)\b(?!:){{endOfIdentifier}}'
554+
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?\s*\b(constructor)\b(?!:){{endOfIdentifier}}'
555555
beginCaptures:
556556
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
557557
'2': { name: storage.modifier.ts } # captures keyword (abstract)
@@ -563,7 +563,7 @@ repository:
563563
- include: '#function-body'
564564
# new or call signature
565565
- name: meta.method.declaration.ts
566-
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\b(new)\b(?!:){{endOfIdentifier}})|(?:(\*)\s*)?)(?=\s*[\(\<])'
566+
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:){{endOfIdentifier}})|(?:(\*)\s*)?)(?=\s*[\(\<])'
567567
beginCaptures:
568568
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
569569
'2': { name: storage.modifier.ts } # captures keyword (abstract)
@@ -576,7 +576,7 @@ repository:
576576
- include: '#function-body'
577577
# method, accessor
578578
- name: meta.method.declaration.ts
579-
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=({{propertyName}}\s*(\??))\s*[\(\<])'
579+
begin: '(?x){{startOfIdentifier}}(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*[\(\<])'
580580
beginCaptures:
581581
'1': { name: storage.modifier.ts } # captures keyword (public or private or protected)
582582
'2': { name: storage.modifier.ts } # captures keyword (abstract)
@@ -590,7 +590,7 @@ repository:
590590

591591
object-literal-method-declaration:
592592
name: meta.method.declaration.ts
593-
begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=({{propertyName}}\s*(\??))\s*[\(\<])'
593+
begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*[\(\<])'
594594
beginCaptures:
595595
'1': { name: storage.modifier.async.ts } # captures keyword (async)
596596
'2': { name: storage.type.property.ts } # captures keyword (get|set)
@@ -599,7 +599,7 @@ repository:
599599
patterns:
600600
- include: '#method-declaration-name'
601601
- include: '#function-body'
602-
- begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=({{propertyName}}\s*(\??))\s*[\(\<])'
602+
- begin: '(?x){{startOfIdentifier}}(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*({{propertyName}}\s*(\??))\s*[\(\<])'
603603
beginCaptures:
604604
'1': { name: storage.modifier.async.ts } # captures keyword (async)
605605
'2': { name: storage.type.property.ts } # captures keyword (get|set)
@@ -661,7 +661,7 @@ repository:
661661

662662
indexer-declaration:
663663
name: meta.indexer.declaration.ts
664-
begin: (?:{{startOfIdentifier}}(readonly)\s*)?(\[)\s*({{identifier}})\s*(?=:)
664+
begin: (?:{{startOfIdentifier}}(readonly)\s*)?\s*(\[)\s*({{identifier}})\s*(?=:)
665665
beginCaptures:
666666
'1': { name: storage.modifier.ts }
667667
'2': { name: meta.brace.square.ts }
@@ -675,7 +675,7 @@ repository:
675675

676676
indexer-mapped-type-declaration:
677677
name: meta.indexer.mappedtype.declaration.ts
678-
begin: (?:{{startOfIdentifier}}([+-])?(readonly)\s*)?(\[)\s*({{identifier}})\s+(in)\s+
678+
begin: (?:{{startOfIdentifier}}([+-])?(readonly)\s*)?\s*(\[)\s*({{identifier}})\s+(in)\s+
679679
beginCaptures:
680680
'1': { name: keyword.operator.type.modifier.ts }
681681
'2': { name: storage.modifier.ts }
@@ -1410,9 +1410,9 @@ repository:
14101410

14111411
array-literal:
14121412
name: meta.array.literal.ts
1413-
begin: \[
1413+
begin: \s*(\[)
14141414
beginCaptures:
1415-
'0': { name: meta.brace.square.ts }
1415+
'1': { name: meta.brace.square.ts }
14161416
end: \]
14171417
endCaptures:
14181418
'0': { name: meta.brace.square.ts }

TypeScript.tmLanguage

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1314,7 +1314,7 @@
13141314
<key>name</key>
13151315
<string>meta.field.declaration.ts</string>
13161316
<key>begin</key>
1317-
<string>(?x)(?&lt;!\()(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(readonly)\s+)?(?=((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
1317+
<string>(?x)(?&lt;!\()(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(readonly)\s+)?(?=\s*((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
13181318
(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
13191319
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
13201320
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
@@ -1333,7 +1333,7 @@
13331333
</dict>
13341334
</dict>
13351335
<key>end</key>
1336-
<string>(?x)(?=\}|;|,|$|(^(?!((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
1336+
<string>(?x)(?=\}|;|,|$|(^(?!\s*((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
13371337
(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
13381338
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
13391339
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
@@ -1362,7 +1362,7 @@
13621362
(?:\b[0-9][0-9_]*\b(?!\.)) # 1
13631363
)(?!\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\[([^\[\]]|\[[^\[\]]*\])+\]))\s*(\?\s*)?(=|:))</string>
13641364
<key>end</key>
1365-
<string>(?x)(?=[};,=]|$|(^(?!((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
1365+
<string>(?x)(?=[};,=]|$|(^(?!\s*((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
13661366
(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
13671367
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
13681368
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
@@ -1684,7 +1684,7 @@
16841684
<key>name</key>
16851685
<string>meta.method.declaration.ts</string>
16861686
<key>begin</key>
1687-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?\b(constructor)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))</string>
1687+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?\s*\b(constructor)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))</string>
16881688
<key>beginCaptures</key>
16891689
<dict>
16901690
<key>1</key>
@@ -1726,7 +1726,7 @@
17261726
<key>name</key>
17271727
<string>meta.method.declaration.ts</string>
17281728
<key>begin</key>
1729-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\b(new)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|(?:(\*)\s*)?)(?=\s*[\(\&lt;])</string>
1729+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:(?:\s*\b(new)\b(?!:)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|(?:(\*)\s*)?)(?=\s*[\(\&lt;])</string>
17301730
<key>beginCaptures</key>
17311731
<dict>
17321732
<key>1</key>
@@ -1773,7 +1773,7 @@
17731773
<key>name</key>
17741774
<string>meta.method.declaration.ts</string>
17751775
<key>begin</key>
1776-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=(((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
1776+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(public|private|protected)\s+)?(?:\b(abstract)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*(((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
17771777
(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
17781778
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
17791779
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
@@ -1832,7 +1832,7 @@
18321832
<key>name</key>
18331833
<string>meta.method.declaration.ts</string>
18341834
<key>begin</key>
1835-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=(((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
1835+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*(((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
18361836
(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
18371837
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
18381838
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
@@ -1874,7 +1874,7 @@
18741874
</dict>
18751875
<dict>
18761876
<key>begin</key>
1877-
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=(((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
1877+
<string>(?x)(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?:(\*)\s*)?(?=\s*(((\b(?&lt;!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$))|(\b(?&lt;!\$)0(b|B)[01][01_]*\b(?!\$))|(\b(?&lt;!\$)0(o|O)?[0-7][0-7_]*\b(?!\$))|((?&lt;!\$)(?:
18781878
(?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
18791879
(?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
18801880
(?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
@@ -2073,7 +2073,7 @@
20732073
<key>name</key>
20742074
<string>meta.indexer.declaration.ts</string>
20752075
<key>begin</key>
2076-
<string>(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(readonly)\s*)?(\[)\s*([_$[:alpha:]][_$[:alnum:]]*)\s*(?=:)</string>
2076+
<string>(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(readonly)\s*)?\s*(\[)\s*([_$[:alpha:]][_$[:alnum:]]*)\s*(?=:)</string>
20772077
<key>beginCaptures</key>
20782078
<dict>
20792079
<key>1</key>
@@ -2120,7 +2120,7 @@
21202120
<key>name</key>
21212121
<string>meta.indexer.mappedtype.declaration.ts</string>
21222122
<key>begin</key>
2123-
<string>(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))([+-])?(readonly)\s*)?(\[)\s*([_$[:alpha:]][_$[:alnum:]]*)\s+(in)\s+</string>
2123+
<string>(?:(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))([+-])?(readonly)\s*)?\s*(\[)\s*([_$[:alpha:]][_$[:alnum:]]*)\s+(in)\s+</string>
21242124
<key>beginCaptures</key>
21252125
<dict>
21262126
<key>1</key>
@@ -4442,10 +4442,10 @@
44424442
<key>name</key>
44434443
<string>meta.array.literal.ts</string>
44444444
<key>begin</key>
4445-
<string>\[</string>
4445+
<string>\s*(\[)</string>
44464446
<key>beginCaptures</key>
44474447
<dict>
4448-
<key>0</key>
4448+
<key>1</key>
44494449
<dict>
44504450
<key>name</key>
44514451
<string>meta.brace.square.ts</string>

0 commit comments

Comments
 (0)