@@ -20,6 +20,7 @@ repository:
2020
2121 - include : ' #support'
2222 - include : ' #literal-keywords'
23+ - include : ' #literal-switch'
2324
2425 - include : ' #expression' # after storage which requires this in some cases
2526
@@ -53,32 +54,32 @@ repository:
5354 brackets :
5455 patterns :
5556 - name : meta.group.braces.round
56- begin : (\()
57+ begin : \(
5758 beginCaptures :
58- ' 1 ' : {name: meta.brace.round.js}
59- end : (\) )
59+ ' 0 ' : {name: meta.brace.round.js}
60+ end : \ )
6061 endCaptures :
61- ' 1 ' : {name: meta.brace.round.js}
62+ ' 0 ' : {name: meta.brace.round.js}
6263 patterns :
6364 - include : $self
6465
6566 - name : meta.group.braces.square
66- begin : (\[)
67+ begin : \[
6768 beginCaptures :
68- ' 1 ' : {name: meta.brace.square.js}
69- end : (\])
69+ ' 0 ' : {name: meta.brace.square.js}
70+ end : \]
7071 endCaptures :
71- ' 1 ' : {name: meta.brace.square.js}
72+ ' 0 ' : {name: meta.brace.square.js}
7273 patterns :
7374 - include : ' #expression'
7475
7576 - name : meta.group.braces.curly
76- begin : ({)
77+ begin : \{
7778 beginCaptures :
78- ' 1 ' : {name: meta.brace.curly.js}
79- end : (})
79+ ' 0 ' : {name: meta.brace.curly.js}
80+ end : \}
8081 endCaptures :
81- ' 1 ' : {name: meta.brace.curly.js}
82+ ' 0 ' : {name: meta.brace.curly.js}
8283 patterns :
8384 - include : $self
8485
@@ -165,7 +166,7 @@ repository:
165166 literal-module :
166167 patterns :
167168 - name : keyword.operator.module.js
168- match : (?<!\.)\b(import|export|from|as)\b
169+ match : (?<!\.)\b(import|export|default| from|as)\b
169170
170171 literal-class :
171172 patterns :
@@ -187,8 +188,6 @@ repository:
187188 beginCaptures :
188189 ' 1 ' : {name: storage.type.extends.js}
189190 end : ' (?={)'
190- endCaptures :
191- ' 0 ' : {name: meta.brace.curly.js}
192191 patterns :
193192 - include : ' #expression'
194193
@@ -605,20 +604,31 @@ repository:
605604 - name : keyword.control.loop.js
606605 match : (?<!\.)\b(break|continue|do|for|goto|while)\b
607606
608- - name : keyword.control.switch .js
609- match : (?<!\.)\b(switch )\b
607+ - name : keyword.operator .js
608+ match : (?<!\.)\b(await|delete|in|instanceof|new|of|typeof|void|with )\b
610609
611- - begin : (?<!\.)\b(case|default)\b
610+ literal-switch :
611+ patterns :
612+ - name : meta.switch.js
613+ begin : (?<!\.)\b(switch)\b
612614 beginCaptures :
613615 ' 1 ' : {name: keyword.control.switch.js}
614- end : ' : '
616+ end : \}
615617 endCaptures :
616- ' 0 ' : {name: punctuation.separator.switch .js}
618+ ' 0 ' : {name: meta.brace.curly .js}
617619 patterns :
618- - include : ' #expression'
619-
620- - name : keyword.operator.js
621- match : (?<!\.)\b(await|delete|in|instanceof|new|of|typeof|void|with)\b
620+ - begin : \{
621+ beginCaptures :
622+ ' 0 ' : {name: meta.brace.curly.js}
623+ end : (?=})
624+ patterns :
625+ - begin : (?<!\.)\b(case|default)\b
626+ beginCaptures :
627+ ' 1 ' : {name: keyword.control.switch.js}
628+ end : (?=:)
629+ patterns :
630+ - include : ' #expression'
631+ - include : $self
622632
623633 literal-operators :
624634 patterns :
0 commit comments