Skip to content

Commit 23b94ac

Browse files
committed
Handle multiline import statement
Fixes #607
1 parent 8202216 commit 23b94ac

File tree

5 files changed

+44
-3
lines changed

5 files changed

+44
-3
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -910,7 +910,7 @@ repository:
910910
beginCaptures:
911911
'1': { name: keyword.control.export.ts }
912912
'2': { name: keyword.control.import.ts }
913-
end: (?=;|$|^)
913+
end: (?<!{{lookBehindImport}})(?=;|$|^)
914914
patterns:
915915
- include: '#comment'
916916
- include: '#string'

TypeScript.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2875,7 +2875,7 @@
28752875
</dict>
28762876
</dict>
28772877
<key>end</key>
2878-
<string>(?=;|$|^)</string>
2878+
<string>(?&lt;!^import|[^\._$[:alnum:]]import)(?=;|$|^)</string>
28792879
<key>patterns</key>
28802880
<array>
28812881
<dict>

TypeScriptReact.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2879,7 +2879,7 @@
28792879
</dict>
28802880
</dict>
28812881
<key>end</key>
2882-
<string>(?=;|$|^)</string>
2882+
<string>(?&lt;!^import|[^\._$[:alnum:]]import)(?=;|$|^)</string>
28832883
<key>patterns</key>
28842884
<array>
28852885
<dict>

tests/baselines/Issue607.baseline.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
original file
2+
-----------------------------------
3+
import
4+
{
5+
Foo
6+
}
7+
from "foo"
8+
-----------------------------------
9+
10+
Grammar: TypeScript.tmLanguage
11+
-----------------------------------
12+
>import
13+
^^^^^^
14+
source.ts meta.import.ts keyword.control.import.ts
15+
>{
16+
^
17+
source.ts meta.import.ts meta.block.ts punctuation.definition.block.ts
18+
> Foo
19+
^^^^
20+
source.ts meta.import.ts meta.block.ts
21+
^^^
22+
source.ts meta.import.ts meta.block.ts variable.other.readwrite.alias.ts
23+
>}
24+
^
25+
source.ts meta.import.ts meta.block.ts punctuation.definition.block.ts
26+
>from "foo"
27+
^^^^
28+
source.ts meta.import.ts keyword.control.from.ts
29+
^
30+
source.ts meta.import.ts
31+
^
32+
source.ts meta.import.ts string.quoted.double.ts punctuation.definition.string.begin.ts
33+
^^^
34+
source.ts meta.import.ts string.quoted.double.ts
35+
^
36+
source.ts meta.import.ts string.quoted.double.ts punctuation.definition.string.end.ts

tests/cases/Issue607.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import
2+
{
3+
Foo
4+
}
5+
from "foo"

0 commit comments

Comments
 (0)