Skip to content

Commit 5cfc64b

Browse files
authored
Merge pull request #656 from mjbvz/fix-653
Allow 'export default interface'
2 parents 5fdfb11 + 0ed75f0 commit 5cfc64b

File tree

5 files changed

+56
-0
lines changed

5 files changed

+56
-0
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1095,6 +1095,7 @@ repository:
10951095
'3': { name: keyword.control.default.ts }
10961096
end: (?=$|{{endOfStatement}})
10971097
patterns:
1098+
- include: '#interface-declaration'
10981099
- include: '#expression'
10991100
- name: meta.export.ts
11001101
begin: '{{startOfIdentifier}}(export)(?!\s*:){{endOfIdentifier}}'

TypeScript.tmLanguage

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3545,6 +3545,10 @@
35453545
<string>(?=$|;|^\s*abstract\b|^\s*async\b|^\s*class\b|^\s*const\b|^\s*declare\b|^\s*enum\b|^\s*export\b|^\s*function\b|^\s*import\b|^\s*interface\b|^\s*let\b|^\s*module\b|^\s*namespace\b|^\s*return\b|^\s*type\b|^\s*var\b)</string>
35463546
<key>patterns</key>
35473547
<array>
3548+
<dict>
3549+
<key>include</key>
3550+
<string>#interface-declaration</string>
3551+
</dict>
35483552
<dict>
35493553
<key>include</key>
35503554
<string>#expression</string>

TypeScriptReact.tmLanguage

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3549,6 +3549,10 @@
35493549
<string>(?=$|;|^\s*abstract\b|^\s*async\b|^\s*class\b|^\s*const\b|^\s*declare\b|^\s*enum\b|^\s*export\b|^\s*function\b|^\s*import\b|^\s*interface\b|^\s*let\b|^\s*module\b|^\s*namespace\b|^\s*return\b|^\s*type\b|^\s*var\b)</string>
35503550
<key>patterns</key>
35513551
<array>
3552+
<dict>
3553+
<key>include</key>
3554+
<string>#interface-declaration</string>
3555+
</dict>
35523556
<dict>
35533557
<key>include</key>
35543558
<string>#expression</string>

tests/baselines/Issue653.baseline.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
original file
2+
-----------------------------------
3+
export default interface IFoo {
4+
x: string;
5+
}
6+
-----------------------------------
7+
8+
Grammar: TypeScript.tmLanguage
9+
-----------------------------------
10+
>export default interface IFoo {
11+
^^^^^^
12+
source.ts meta.export.default.ts keyword.control.export.ts
13+
^
14+
source.ts meta.export.default.ts
15+
^^^^^^^
16+
source.ts meta.export.default.ts keyword.control.default.ts
17+
^
18+
source.ts meta.export.default.ts
19+
^^^^^^^^^
20+
source.ts meta.export.default.ts meta.interface.ts storage.type.interface.ts
21+
^
22+
source.ts meta.export.default.ts meta.interface.ts
23+
^^^^
24+
source.ts meta.export.default.ts meta.interface.ts entity.name.type.interface.ts
25+
^
26+
source.ts meta.export.default.ts meta.interface.ts
27+
^
28+
source.ts meta.export.default.ts meta.interface.ts punctuation.definition.block.ts
29+
> x: string;
30+
^^^^
31+
source.ts meta.export.default.ts meta.interface.ts meta.field.declaration.ts
32+
^
33+
source.ts meta.export.default.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
34+
^
35+
source.ts meta.export.default.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
36+
^
37+
source.ts meta.export.default.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
38+
^^^^^^
39+
source.ts meta.export.default.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
40+
^
41+
source.ts meta.export.default.ts meta.interface.ts punctuation.terminator.statement.ts
42+
>}
43+
^
44+
source.ts meta.export.default.ts meta.interface.ts punctuation.definition.block.ts

tests/cases/Issue653.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default interface IFoo {
2+
x: string;
3+
}

0 commit comments

Comments
 (0)