Skip to content

Commit 48f6086

Browse files
authored
Support "Arbitrary Module Namespace Identifiers" (#1030)
* Support "Arbitrary Module Namespace Identifiers" * Use `quotedStrings` instead of `aliasString`
1 parent b28aa0c commit 48f6086

5 files changed

+472
-13
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,24 +1257,27 @@ repository:
12571257
patterns:
12581258
- include: '#comment'
12591259
#(default|*|name) as alias
1260-
- match: '{{startOfIdentifier}}(?:(?:(\btype)\s+)?(?:(\bdefault)|(\*)|(\b{{identifier}})))\s+(as)\s+(?:(default{{endOfIdentifier}})|({{identifier}}))'
1260+
- match: '{{startOfIdentifier}}(?:(?:(\btype)\s+)?(?:(\bdefault)|(\*)|(\b{{identifier}})|({{quotedStrings}})))\s+(as)\s+(?:(default{{endOfIdentifier}})|({{identifier}})|({{quotedStrings}}))'
12611261
captures:
12621262
'1': { name: keyword.control.type.ts }
12631263
'2': { name: keyword.control.default.ts }
12641264
'3': { name: constant.language.import-export-all.ts }
12651265
'4': { name: variable.other.readwrite.ts }
1266-
'5': { name: keyword.control.as.ts }
1267-
'6': { name: keyword.control.default.ts }
1268-
'7': { name: variable.other.readwrite.alias.ts }
1266+
'5': { name: string.quoted.alias.ts }
1267+
'12': { name: keyword.control.as.ts }
1268+
'13': { name: keyword.control.default.ts }
1269+
'14': { name: variable.other.readwrite.alias.ts }
1270+
'15': { name: string.quoted.alias.ts }
12691271
- include: '#punctuation-comma'
12701272
- name: constant.language.import-export-all.ts
12711273
match: \*
12721274
- name: keyword.control.default.ts
12731275
match: \b(default)\b
1274-
- match: '(?:(\btype)\s+)?({{identifier}})'
1276+
- match: '(?:(\btype)\s+)?(?:({{identifier}})|({{quotedStrings}}))'
12751277
captures:
12761278
'1': { name: keyword.control.type.ts }
12771279
'2': { name: variable.other.readwrite.alias.ts }
1280+
'3': { name: string.quoted.alias.ts }
12781281

12791282

12801283
#control statements and loops

TypeScript.tmLanguage

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4018,7 +4018,7 @@
40184018
</dict>
40194019
<dict>
40204020
<key>match</key>
4021-
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:(?:(\btype)\s+)?(?:(\bdefault)|(\*)|(\b[_$[:alpha:]][_$[:alnum:]]*)))\s+(as)\s+(?:(default(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|([_$[:alpha:]][_$[:alnum:]]*))</string>
4021+
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:(?:(\btype)\s+)?(?:(\bdefault)|(\*)|(\b[_$[:alpha:]][_$[:alnum:]]*)|((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))))\s+(as)\s+(?:(default(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|([_$[:alpha:]][_$[:alnum:]]*)|((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))</string>
40224022
<key>captures</key>
40234023
<dict>
40244024
<key>1</key>
@@ -4042,20 +4042,30 @@
40424042
<string>variable.other.readwrite.ts</string>
40434043
</dict>
40444044
<key>5</key>
4045+
<dict>
4046+
<key>name</key>
4047+
<string>string.quoted.alias.ts</string>
4048+
</dict>
4049+
<key>12</key>
40454050
<dict>
40464051
<key>name</key>
40474052
<string>keyword.control.as.ts</string>
40484053
</dict>
4049-
<key>6</key>
4054+
<key>13</key>
40504055
<dict>
40514056
<key>name</key>
40524057
<string>keyword.control.default.ts</string>
40534058
</dict>
4054-
<key>7</key>
4059+
<key>14</key>
40554060
<dict>
40564061
<key>name</key>
40574062
<string>variable.other.readwrite.alias.ts</string>
40584063
</dict>
4064+
<key>15</key>
4065+
<dict>
4066+
<key>name</key>
4067+
<string>string.quoted.alias.ts</string>
4068+
</dict>
40594069
</dict>
40604070
</dict>
40614071
<dict>
@@ -4076,7 +4086,7 @@
40764086
</dict>
40774087
<dict>
40784088
<key>match</key>
4079-
<string>(?:(\btype)\s+)?([_$[:alpha:]][_$[:alnum:]]*)</string>
4089+
<string>(?:(\btype)\s+)?(?:([_$[:alpha:]][_$[:alnum:]]*)|((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))</string>
40804090
<key>captures</key>
40814091
<dict>
40824092
<key>1</key>
@@ -4089,6 +4099,11 @@
40894099
<key>name</key>
40904100
<string>variable.other.readwrite.alias.ts</string>
40914101
</dict>
4102+
<key>3</key>
4103+
<dict>
4104+
<key>name</key>
4105+
<string>string.quoted.alias.ts</string>
4106+
</dict>
40924107
</dict>
40934108
</dict>
40944109
</array>

TypeScriptReact.tmLanguage

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4040,7 +4040,7 @@
40404040
</dict>
40414041
<dict>
40424042
<key>match</key>
4043-
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:(?:(\btype)\s+)?(?:(\bdefault)|(\*)|(\b[_$[:alpha:]][_$[:alnum:]]*)))\s+(as)\s+(?:(default(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|([_$[:alpha:]][_$[:alnum:]]*))</string>
4043+
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(?:(?:(\btype)\s+)?(?:(\bdefault)|(\*)|(\b[_$[:alpha:]][_$[:alnum:]]*)|((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))))\s+(as)\s+(?:(default(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|([_$[:alpha:]][_$[:alnum:]]*)|((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))</string>
40444044
<key>captures</key>
40454045
<dict>
40464046
<key>1</key>
@@ -4064,20 +4064,30 @@
40644064
<string>variable.other.readwrite.tsx</string>
40654065
</dict>
40664066
<key>5</key>
4067+
<dict>
4068+
<key>name</key>
4069+
<string>string.quoted.alias.tsx</string>
4070+
</dict>
4071+
<key>12</key>
40674072
<dict>
40684073
<key>name</key>
40694074
<string>keyword.control.as.tsx</string>
40704075
</dict>
4071-
<key>6</key>
4076+
<key>13</key>
40724077
<dict>
40734078
<key>name</key>
40744079
<string>keyword.control.default.tsx</string>
40754080
</dict>
4076-
<key>7</key>
4081+
<key>14</key>
40774082
<dict>
40784083
<key>name</key>
40794084
<string>variable.other.readwrite.alias.tsx</string>
40804085
</dict>
4086+
<key>15</key>
4087+
<dict>
4088+
<key>name</key>
4089+
<string>string.quoted.alias.tsx</string>
4090+
</dict>
40814091
</dict>
40824092
</dict>
40834093
<dict>
@@ -4098,7 +4108,7 @@
40984108
</dict>
40994109
<dict>
41004110
<key>match</key>
4101-
<string>(?:(\btype)\s+)?([_$[:alpha:]][_$[:alnum:]]*)</string>
4111+
<string>(?:(\btype)\s+)?(?:([_$[:alpha:]][_$[:alnum:]]*)|((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))</string>
41024112
<key>captures</key>
41034113
<dict>
41044114
<key>1</key>
@@ -4111,6 +4121,11 @@
41114121
<key>name</key>
41124122
<string>variable.other.readwrite.alias.tsx</string>
41134123
</dict>
4124+
<key>3</key>
4125+
<dict>
4126+
<key>name</key>
4127+
<string>string.quoted.alias.tsx</string>
4128+
</dict>
41144129
</dict>
41154130
</dict>
41164131
</array>

0 commit comments

Comments
 (0)