Handle declare modifier for class fields

Fixes #797
This commit is contained in:
Sheetal Nandi 2020-01-02 15:43:26 -08:00
Родитель c9c955af17
Коммит c858569c30
5 изменённых файлов: 46 добавлений и 3 удалений

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

@ -978,7 +978,7 @@ repository:
access-modifier:
name: storage.modifier.ts
match: '{{startOfIdentifier}}(abstract|public|protected|private|readonly|static){{endOfIdentifier}}'
match: '{{startOfIdentifier}}(abstract|public|protected|private|readonly|static|declare){{endOfIdentifier}}'
property-accessor:
name: storage.type.property.ts

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

@ -3115,7 +3115,7 @@
<key>name</key>
<string>storage.modifier.ts</string>
<key>match</key>
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(abstract|public|protected|private|readonly|static)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))</string>
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(abstract|public|protected|private|readonly|static|declare)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))</string>
</dict>
<key>property-accessor</key>
<dict>

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

@ -3137,7 +3137,7 @@
<key>name</key>
<string>storage.modifier.tsx</string>
<key>match</key>
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(abstract|public|protected|private|readonly|static)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))</string>
<string>(?&lt;![_$[:alnum:]])(?:(?&lt;=\.\.\.)|(?&lt;!\.))(abstract|public|protected|private|readonly|static|declare)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))</string>
</dict>
<key>property-accessor</key>
<dict>

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

@ -0,0 +1,40 @@
original file
-----------------------------------
class Foo {
declare baz: any;
}
-----------------------------------
Grammar: TypeScript.tmLanguage
-----------------------------------
>class Foo {
^^^^^
source.ts meta.class.ts storage.type.class.ts
^
source.ts meta.class.ts
^^^
source.ts meta.class.ts entity.name.type.class.ts
^
source.ts meta.class.ts
^
source.ts meta.class.ts punctuation.definition.block.ts
> declare baz: any;
^^^^
source.ts meta.class.ts
^^^^^^^
source.ts meta.class.ts storage.modifier.ts
^
source.ts meta.class.ts meta.field.declaration.ts
^^^
source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
^
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
^
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts
^^^
source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
^
source.ts meta.class.ts punctuation.terminator.statement.ts
>}
^
source.ts meta.class.ts punctuation.definition.block.ts

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

@ -0,0 +1,3 @@
class Foo {
declare baz: any;
}