Skip to content

Commit 9be58bc

Browse files
committed
Add detection of dynamic import call
Fixes #470
1 parent 66d38dc commit 9be58bc

File tree

5 files changed

+53
-0
lines changed

5 files changed

+53
-0
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1456,6 +1456,8 @@ repository:
14561456
- include: '#support-objects'
14571457
- include: '#object-identifiers'
14581458
- include: '#punctuation-accessor'
1459+
- name: keyword.operator.expression.import.ts
1460+
match: (?![\.\$])\bimport(?=\s*[\(]\s*[\"\'\`])
14591461
- name: entity.name.function.ts
14601462
match: ([_$[:alpha:]][_$[:alnum:]]*)
14611463
- include: '#comment'

TypeScript.tmLanguage

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4029,6 +4029,12 @@
40294029
<key>include</key>
40304030
<string>#punctuation-accessor</string>
40314031
</dict>
4032+
<dict>
4033+
<key>name</key>
4034+
<string>keyword.operator.expression.import.ts</string>
4035+
<key>match</key>
4036+
<string>(?![\.\$])\bimport(?=\s*[\(]\s*[\"\'\`])</string>
4037+
</dict>
40324038
<dict>
40334039
<key>name</key>
40344040
<string>entity.name.function.ts</string>

TypeScriptReact.tmLanguage

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4033,6 +4033,12 @@
40334033
<key>include</key>
40344034
<string>#punctuation-accessor</string>
40354035
</dict>
4036+
<dict>
4037+
<key>name</key>
4038+
<string>keyword.operator.expression.import.tsx</string>
4039+
<key>match</key>
4040+
<string>(?![\.\$])\bimport(?=\s*[\(]\s*[\"\'\`])</string>
4041+
</dict>
40364042
<dict>
40374043
<key>name</key>
40384044
<string>entity.name.function.tsx</string>

tests/baselines/Issue470.baseline.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
original file
2+
-----------------------------------
3+
var x = await import("./file1");
4+
-----------------------------------
5+
6+
Grammar: TypeScript.tmLanguage
7+
-----------------------------------
8+
>var x = await import("./file1");
9+
^^^
10+
source.ts meta.var.expr.ts storage.type.ts
11+
^
12+
source.ts meta.var.expr.ts
13+
^
14+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.definition.variable.ts variable.other.readwrite.ts
15+
^
16+
source.ts meta.var.expr.ts meta.var-single-variable.expr.ts
17+
^
18+
source.ts meta.var.expr.ts keyword.operator.assignment.ts
19+
^
20+
source.ts meta.var.expr.ts
21+
^^^^^
22+
source.ts meta.var.expr.ts keyword.control.flow.ts
23+
^
24+
source.ts meta.var.expr.ts
25+
^^^^^^
26+
source.ts meta.var.expr.ts meta.function-call.ts keyword.operator.expression.import.ts
27+
^
28+
source.ts meta.var.expr.ts meta.brace.round.ts
29+
^
30+
source.ts meta.var.expr.ts string.quoted.double.ts punctuation.definition.string.begin.ts
31+
^^^^^^^
32+
source.ts meta.var.expr.ts string.quoted.double.ts
33+
^
34+
source.ts meta.var.expr.ts string.quoted.double.ts punctuation.definition.string.end.ts
35+
^
36+
source.ts meta.var.expr.ts meta.brace.round.ts
37+
^
38+
source.ts punctuation.terminator.statement.ts

tests/cases/Issue470.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var x = await import("./file1");

0 commit comments

Comments
 (0)