@@ -40,7 +40,7 @@ repository:
40
40
41
41
var-single-variable :
42
42
name : meta.var-single-variable.expr.ts
43
- begin : \b([a-zA-Z_$][\w$ ]*)\b
43
+ begin : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
44
44
beginCaptures :
45
45
' 1 ' : { name: variable.other.readwrite.ts }
46
46
end : (?=$|[;,])
@@ -95,7 +95,7 @@ repository:
95
95
object-binding-element :
96
96
patterns :
97
97
- include : ' #comment'
98
- - begin : \b([a-zA-Z_$][\w$ ]*)\s*(:)
98
+ - begin : \b([_$[:alpha:]][_$[:alnum:] ]*)\s*(:)
99
99
beginCaptures :
100
100
' 1 ' : { name: variable.object.property.ts }
101
101
' 2 ' : { name: punctuation.destructuring.ts }
@@ -104,9 +104,9 @@ repository:
104
104
- include : ' #object-binding-pattern'
105
105
- include : ' #array-binding-pattern'
106
106
- name : variable.other.readwrite.ts
107
- match : \b([a-zA-Z_$][\w$ ]*)\b
107
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
108
108
- name : variable.other.readwrite.ts
109
- match : \b([a-zA-Z_$][\w$ ]*)\b
109
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
110
110
- name : meta.delimiter.object.comma.ts
111
111
match : ' ,'
112
112
@@ -116,7 +116,7 @@ repository:
116
116
- include : ' #object-binding-pattern'
117
117
- include : ' #array-binding-pattern'
118
118
- name : variable.other.readwrite.ts
119
- match : \b([a-zA-Z_$][\w$ ]*)\b
119
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
120
120
- name : meta.delimiter.object.comma.ts
121
121
match : ' ,'
122
122
@@ -223,7 +223,7 @@ repository:
223
223
224
224
type-declaration :
225
225
name : meta.type.declaration.ts
226
- begin : (?:(\bexport)\s+)?\b(type)\b\s+([a-zA-Z_$][\w$ ]*)\s*
226
+ begin : (?:(\bexport)\s+)?\b(type)\b\s+([_$[:alpha:]][_$[:alnum:] ]*)\s*
227
227
beginCaptures :
228
228
' 1 ' : { name: keyword.control.export.ts }
229
229
' 2 ' : { name: storage.type.type.ts }
@@ -238,7 +238,7 @@ repository:
238
238
239
239
enum-declaration :
240
240
name : meta.enum.declaration.ts
241
- match : (?:(\bexport)\s+)?(?:\b(const)\s+)?\b(enum)\s+([a-zA-Z_$][\w$ ]*)
241
+ match : (?:(\bexport)\s+)?(?:\b(const)\s+)?\b(enum)\s+([_$[:alpha:]][_$[:alnum:] ]*)
242
242
captures :
243
243
' 1 ' : { name: keyword.control.export.ts }
244
244
' 2 ' : { name: storage.modifier.ts}
@@ -256,14 +256,14 @@ repository:
256
256
- include : ' #comment'
257
257
- include : ' #string'
258
258
- name : entity.name.type.module.ts
259
- match : \b([a-zA-Z_$][\w$ ]*)\b
259
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
260
260
- name : punctuation.accessor.ts
261
261
match : \.
262
262
263
263
import-equals-declaration :
264
264
patterns :
265
265
- name : meta.import-equals.external.ts
266
- begin : (?:(\bexport)\s+)?\b(?<!\.)(import)\s+([a-zA-Z_$][\w$ ]*)\s*(=)\s*(require)\s*(\()
266
+ begin : (?:(\bexport)\s+)?\b(?<!\.)(import)\s+([_$[:alpha:]][_$[:alnum:] ]*)\s*(=)\s*(require)\s*(\()
267
267
beginCaptures :
268
268
' 1 ' : { name: keyword.control.export.ts }
269
269
' 2 ' : { name: keyword.control.import.ts }
@@ -278,7 +278,7 @@ repository:
278
278
- include : ' #comment'
279
279
- include : ' #string'
280
280
- name : meta.import-equals.internal.ts
281
- begin : (?:(\bexport)\s+)?\b(?<!\.)(import)\s+([a-zA-Z_$][\w$ ]*)\s*(=)\s*(?!require\b)
281
+ begin : (?:(\bexport)\s+)?\b(?<!\.)(import)\s+([_$[:alpha:]][_$[:alnum:] ]*)\s*(=)\s*(?!require\b)
282
282
beginCaptures :
283
283
' 1 ' : { name: keyword.control.export.ts }
284
284
' 2 ' : { name: keyword.control.import.ts }
@@ -287,12 +287,12 @@ repository:
287
287
end : (?=;|$)
288
288
patterns :
289
289
- include : ' #comment'
290
- - match : \b([a-zA-Z_$][\w$ ]*)\s*(\.)
290
+ - match : \b([_$[:alpha:]][_$[:alnum:] ]*)\s*(\.)
291
291
captures :
292
292
' 1 ' : { name: entity.name.type.module.ts }
293
293
' 2 ' : { name: punctuation.accessor.ts }
294
294
- name : variable.other.readwrite.ts
295
- match : \b([a-zA-Z_$][\w$ ]*)\b
295
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
296
296
297
297
import-declaration :
298
298
name : meta.import.ts
@@ -306,7 +306,7 @@ repository:
306
306
307
307
export-declaration :
308
308
patterns :
309
- - match : \b(?<!\.)(export)\s+(as)\s+(namespace)\s+([a-zA-Z_$][\w$ ]*)
309
+ - match : \b(?<!\.)(export)\s+(as)\s+(namespace)\s+([_$[:alpha:]][_$[:alnum:] ]*)
310
310
captures :
311
311
' 1 ' : { name: keyword.control.export.ts }
312
312
' 2 ' : { name: keyword.control.as.ts }
@@ -353,8 +353,8 @@ repository:
353
353
patterns :
354
354
- include : ' #comment'
355
355
- comment : (default|*|name) as alias
356
- match : ' (?x) (?: \b(default)\b | (\*) | \b([a-zA-Z_$][a-zA-Z_$0-9 ]*)\b) \s* (\b
357
- as \b) \s* (?: (\b default \b | \*) | \b([a-zA-Z_$][a-zA-Z_$0-9 ]*)\b)'
356
+ match : ' (?x) (?: \b(default)\b | (\*) | \b([_$[:alpha:]][_$[:alnum:] ]*)\b) \s* (\b
357
+ as \b) \s* (?: (\b default \b | \*) | \b([_$[:alpha:]][_$[:alnum:] ]*)\b)'
358
358
captures :
359
359
' 1 ' : { name: keyword.control.default.ts }
360
360
' 2 ' : { name: constant.language.import-export-all.ts }
@@ -369,7 +369,7 @@ repository:
369
369
- name : keyword.control.default.ts
370
370
match : \b(default)\b
371
371
- name : variable.other.readwrite.alias.ts
372
- match : \b([a-zA-Z_$][a-zA-Z_$0-9 ]*)\b
372
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
373
373
374
374
class-or-interface-declaration :
375
375
name : meta.declaration.object.ts
@@ -391,7 +391,7 @@ repository:
391
391
392
392
class-or-interface-name :
393
393
name : meta.object.name.ts
394
- match : ' [a-zA-Z_$][\w$ ]*'
394
+ match : ' [_$[:alpha:]][_$[:alnum:] ]*'
395
395
captures :
396
396
' 0 ' : { name: 'entity.name.class.ts' }
397
397
@@ -411,7 +411,7 @@ repository:
411
411
412
412
class-or-interface-heritage-type :
413
413
name : meta.object.heritage.parent.ts
414
- match : ' (?:\b([a-zA-Z_$][\w$ ]*)\b)'
414
+ match : ' (?:\b([_$[:alpha:]][_$[:alnum:] ]*)\b)'
415
415
captures :
416
416
' 1 ' : { name: entity.other.inherited-class.ts }
417
417
@@ -457,7 +457,7 @@ repository:
457
457
458
458
field-declaration :
459
459
name : meta.field.declaration.ts
460
- begin : (?<!\()\s*((?:\b[a-zA-Z_$][\w$ ]*)|(?:\'[^']*\')|(?:\"[^"]*\"))\s*(\?\s*)?(?=(=|:))
460
+ begin : (?<!\()\s*((?:\b[_$[:alpha:]][_$[:alnum:] ]*)|(?:\'[^']*\')|(?:\"[^"]*\"))\s*(\?\s*)?(?=(=|:))
461
461
beginCaptures :
462
462
' 1 ' : { name: variable.object.property.ts }
463
463
' 2 ' : { name: keyword.operator.optional.ts }
@@ -469,7 +469,7 @@ repository:
469
469
470
470
method-declaration :
471
471
name : meta.method.declaration.ts
472
- begin : (?:\b(abstract)\s+)?(?:\b(public|private|protected)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?=((\bnew)|(?:\b(constructor)\b)|(((?:\b[a-zA-Z_$][\.\w$ ]*)|(?:\'[^']*\')|(?:\"[^"]*\")|(?:\[[^\]]*\]))\s*(\??)))?\s*[\(\<])
472
+ begin : (?:\b(abstract)\s+)?(?:\b(public|private|protected)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?=((\bnew)|(?:\b(constructor)\b)|(((?:\b[_$[:alpha:]][_$[:alnum:] ]*)|(?:\'[^']*\')|(?:\"[^"]*\")|(?:\[[^\]]*\]))\s*(\??)))?\s*[\(\<])
473
473
beginCaptures :
474
474
' 1 ' : { name: storage.modifier.ts } # captures keyword (abstract)
475
475
' 2 ' : { name: storage.modifier.ts } # captures keyword (public or private or protected)
@@ -487,7 +487,7 @@ repository:
487
487
488
488
method-overload-declaration :
489
489
name : meta.method.overload.declaration.ts
490
- begin : (?:\b(abstract)\s+)?(?:\b(public|private|protected)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?=((\bnew)|(?:\b(constructor)\b)|(((?:\b[a-zA-Z_$][\.\w$ ]*)|(?:\'[^']*\')|(?:\"[^"]*\")|(?:\[[^\]]*\]))\s*(\??)))?\s*[\(\<])
490
+ begin : (?:\b(abstract)\s+)?(?:\b(public|private|protected)\s+)?(?:\b(async)\s+)?(?:\b(get|set)\s+)?(?=((\bnew)|(?:\b(constructor)\b)|(((?:\b[_$[:alpha:]][_$[:alnum:] ]*)|(?:\'[^']*\')|(?:\"[^"]*\")|(?:\[[^\]]*\]))\s*(\??)))?\s*[\(\<])
491
491
beginCaptures :
492
492
' 1 ' : { name: storage.modifier.ts } # captures keyword (abstract)
493
493
' 2 ' : { name: storage.modifier.ts } # captures keyword (public or private or protected)
@@ -508,7 +508,7 @@ repository:
508
508
- name : storage.type.ts
509
509
match : \bconstructor\b(?=\s*[\(\<])
510
510
- name : entity.name.function.ts
511
- match : \b[a-zA-Z_$][\.\w$ ]*
511
+ match : \b[_$[:alpha:]][_$[:alnum:] ]*
512
512
- name : keyword.operator.optional.ts
513
513
match : \?
514
514
@@ -527,13 +527,13 @@ repository:
527
527
528
528
indexer-parameter :
529
529
name : meta.indexer.parameter.ts
530
- match : ([a-zA-Z_$][\w$ ]*)(?=\:)
530
+ match : ([_$[:alpha:]][_$[:alnum:] ]*)(?=\:)
531
531
captures :
532
532
' 1 ' : { name: variable.parameter.ts}
533
533
534
534
function-declaration :
535
535
name : meta.function.ts
536
- begin : \b(?:(export)\s+)?(?:(async)\s+)?(function\b)(?:\s+([a-zA-Z_$][\w$ ]*))?\s*
536
+ begin : \b(?:(export)\s+)?(?:(async)\s+)?(function\b)(?:\s+([_$[:alpha:]][_$[:alnum:] ]*))?\s*
537
537
beginCaptures :
538
538
' 1 ' : { name: keyword.control.export.ts }
539
539
' 2 ' : { name: storage.modifier.async.ts }
@@ -550,7 +550,7 @@ repository:
550
550
551
551
function-overload-declaration :
552
552
name : meta.function.overload.ts
553
- match : \b(?:(export)\s+)?(function\b)(?:\s+([a-zA-Z_$][\w$ ]*))?\s*
553
+ match : \b(?:(export)\s+)?(function\b)(?:\s+([_$[:alpha:]][_$[:alnum:] ]*))?\s*
554
554
captures :
555
555
' 1 ' : { name: keyword.control.export.ts }
556
556
' 2 ' : { name: storage.type.function.ts }
@@ -601,7 +601,7 @@ repository:
601
601
- include : ' #object-member'
602
602
603
603
parameter-name :
604
- match : ' (?:\s*\b(public|private|protected)\b\s+)?(\.\.\.)?\s*(?<!=|:)([a-zA-Z_$][\w$ ]*)\s*(\??)'
604
+ match : ' (?:\s*\b(public|private|protected)\b\s+)?(\.\.\.)?\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:] ]*)\s*(\??)'
605
605
captures :
606
606
' 1 ' : { name: storage.modifier.ts }
607
607
' 2 ' : { name: keyword.operator.spread.ts }
@@ -632,7 +632,7 @@ repository:
632
632
parameter-object-binding-element :
633
633
patterns :
634
634
- include : ' #comment'
635
- - begin : \b([a-zA-Z_$][\w$ ]*)\s*(:)
635
+ - begin : \b([_$[:alpha:]][_$[:alnum:] ]*)\s*(:)
636
636
beginCaptures :
637
637
' 1 ' : { name: variable.object.property.ts }
638
638
' 2 ' : { name: punctuation.destructuring.ts }
@@ -641,9 +641,9 @@ repository:
641
641
- include : ' #parameter-object-binding-pattern'
642
642
- include : ' #parameter-array-binding-pattern'
643
643
- name : variable.parameter.ts
644
- match : \b([a-zA-Z_$][\w$ ]*)\b
644
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
645
645
- name : variable.parameter.ts
646
- match : \b([a-zA-Z_$][\w$ ]*)\b
646
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
647
647
- name : meta.delimiter.object.comma.ts
648
648
match : ' ,'
649
649
@@ -653,7 +653,7 @@ repository:
653
653
- include : ' #parameter-object-binding-pattern'
654
654
- include : ' #parameter-array-binding-pattern'
655
655
- name : variable.parameter.ts
656
- match : \b([a-zA-Z_$][\w$ ]*)\b
656
+ match : \b([_$[:alpha:]][_$[:alnum:] ]*)\b
657
657
- name : meta.delimiter.object.comma.ts
658
658
match : ' ,'
659
659
@@ -697,7 +697,7 @@ repository:
697
697
type-annotation :
698
698
name : meta.type.annotation.ts
699
699
begin : " :"
700
- end : (?=$|[,);\}\]]|//)|(?==[^>])|(?<=[\}>\]\)]|[a-zA-Z_$ ])\s*(?=\{)
700
+ end : (?=$|[,);\}\]]|//)|(?==[^>])|(?<=[\}>\]\)]|[_$[:alpha:] ])\s*(?=\{)
701
701
patterns :
702
702
- include : ' #expression-operator'
703
703
- include : ' #type'
@@ -790,12 +790,17 @@ repository:
790
790
- include : ' #comment'
791
791
792
792
type-name :
793
- name : entity.name.type.ts
794
- match : ' [a-zA-Z_$][.\w$]*'
793
+ patterns :
794
+ - match : \b([_$[:alpha:]][_$[:alnum:]]*)\s*(\.)
795
+ captures :
796
+ ' 1 ' : { name: entity.name.type.module.ts }
797
+ ' 2 ' : { name: punctuation.accessor.ts }
798
+ - name : entity.name.type.ts
799
+ match : ' [_$[:alpha:]][_$[:alnum:]]*'
795
800
796
801
type-parameters :
797
802
name : meta.type.parameters.ts
798
- begin : ' ([a-zA-Z_$][\w$ ]*)?(<)'
803
+ begin : ' ([_$[:alpha:]][_$[:alnum:] ]*)?(<)'
799
804
beginCaptures :
800
805
' 1 ' : { name: entity.name.type.ts }
801
806
' 2 ' : { name: punctuation.definition.typeparameters.begin.ts }
@@ -871,7 +876,7 @@ repository:
871
876
872
877
for-in-simple :
873
878
name : forin.expr.ts
874
- match : (?<=\()\s*\b(var|let|const)\s+([a-zA-Z_$][\w$ ]*)\s+(?:(in)|(of))\b
879
+ match : (?<=\()\s*\b(var|let|const)\s+([_$[:alpha:]][_$[:alnum:] ]*)\s+(?:(in)|(of))\b
875
880
captures :
876
881
' 1 ' : { name: storage.type.ts }
877
882
' 2 ' : { name: variable.other.readwrite.ts }
@@ -915,7 +920,7 @@ repository:
915
920
- include : ' #comment'
916
921
- include : ' #method-declaration'
917
922
- name : meta.object.member.ts
918
- begin : ' [a-zA-Z_$][\w$ ]*\s*:'
923
+ begin : ' [_$[:alpha:]][_$[:alnum:] ]*\s*:'
919
924
end : (?=,|\})
920
925
patterns :
921
926
- include : ' #expression'
@@ -1087,7 +1092,7 @@ repository:
1087
1092
1088
1093
template :
1089
1094
name : string.template.ts
1090
- begin : ' (?:\b([a-zA-Z_$][a-zA-Z_$0-9 ]*)\b)?(`)'
1095
+ begin : ' (?:\b([_$[:alpha:]][_$[:alnum:] ]*)\b)?(`)'
1091
1096
beginCaptures :
1092
1097
' 1 ' : { name: entity.name.function.tagged-template.ts }
1093
1098
' 2 ' : { name: punctuation.definition.string.template.begin.ts }
@@ -1142,7 +1147,7 @@ repository:
1142
1147
patterns :
1143
1148
- name : storage.type.class.jsdoc
1144
1149
match : (?<!\w)@(abstract|access|alias|arg|argument|async|attribute|augments|author|beta|borrows|bubbes|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exports?|extends|extension|extension_for|extensionfor|external|file|fileoverview|final|fires|for|function|global|host|ignore|implements|inherit[Dd]oc|inner|instance|interface|kind|lends|license|listens|main|member|memberof|method|mixex|mixins?|module|name|namespace|nocollapse|nosideeffects|override|overview|package|param|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce)\b
1145
- - match : ({\b(?:[a-zA-Z_$][a-zA-Z_$0-9] *)\b})\s\b([a-zA-Z_$][a-zA-Z_$0-9 ]*)\b\s*((?:(?!\*\/).)*)
1150
+ - match : ({\b(?:[_$[:alpha:]][_$[:alnum:]] *)\b})\s\b([_$[:alpha:]][_$[:alnum:] ]*)\b\s*((?:(?!\*\/).)*)
1146
1151
captures :
1147
1152
' 0 ' : {name: other.meta.jsdoc}
1148
1153
' 1 ' : {name: entity.name.type.instance.jsdoc}
0 commit comments