Handle multiline import statement

Fixes #607
This commit is contained in:
Sheetal Nandi 2018-04-27 15:52:58 -07:00
Родитель 82022168af
Коммит 23b94ac95d
5 изменённых файлов: 44 добавлений и 3 удалений

Просмотреть файл

@ -910,7 +910,7 @@ repository:
beginCaptures:
'1': { name: keyword.control.export.ts }
'2': { name: keyword.control.import.ts }
end: (?=;|$|^)
end: (?<!{{lookBehindImport}})(?=;|$|^)
patterns:
- include: '#comment'
- include: '#string'

Просмотреть файл

@ -2875,7 +2875,7 @@
</dict>
</dict>
<key>end</key>
<string>(?=;|$|^)</string>
<string>(?&lt;!^import|[^\._$[:alnum:]]import)(?=;|$|^)</string>
<key>patterns</key>
<array>
<dict>

Просмотреть файл

@ -2879,7 +2879,7 @@
</dict>
</dict>
<key>end</key>
<string>(?=;|$|^)</string>
<string>(?&lt;!^import|[^\._$[:alnum:]]import)(?=;|$|^)</string>
<key>patterns</key>
<array>
<dict>

Просмотреть файл

@ -0,0 +1,36 @@
original file
-----------------------------------
import
{
Foo
}
from "foo"
-----------------------------------
Grammar: TypeScript.tmLanguage
-----------------------------------
>import
^^^^^^
source.ts meta.import.ts keyword.control.import.ts
>{
^
source.ts meta.import.ts meta.block.ts punctuation.definition.block.ts
> Foo
^^^^
source.ts meta.import.ts meta.block.ts
^^^
source.ts meta.import.ts meta.block.ts variable.other.readwrite.alias.ts
>}
^
source.ts meta.import.ts meta.block.ts punctuation.definition.block.ts
>from "foo"
^^^^
source.ts meta.import.ts keyword.control.from.ts
^
source.ts meta.import.ts
^
source.ts meta.import.ts string.quoted.double.ts punctuation.definition.string.begin.ts
^^^
source.ts meta.import.ts string.quoted.double.ts
^
source.ts meta.import.ts string.quoted.double.ts punctuation.definition.string.end.ts

5
tests/cases/Issue607.ts Normal file
Просмотреть файл

@ -0,0 +1,5 @@
import
{
Foo
}
from "foo"