Skip to content

Commit ee0974e

Browse files
committed
Add more test for the abstract keyword
1 parent f3d0ddd commit ee0974e

File tree

4 files changed

+42
-8
lines changed

4 files changed

+42
-8
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,15 @@ repository:
171171

172172
method-overload-declaration:
173173
name: meta.method.overload.declaration.ts
174-
match: '\b(?:(public|private|protected)\s+)?(?:(new)|(?:([a-zA-Z_$][\.\w$]*)\s*(\??)))?\s*(?=\(|\<)'
174+
match: '\b(?:(abstract)\s+)?\b(?:(public|private|protected)\s+)?\b(?:(async)\s+)?(?:(get|set)\s+)?(?:(new)|(?:([a-zA-Z_$][\.\w$]*)\s*(\??)))?\s*(?=\(|\<)'
175175
captures:
176176
'1': { name: storage.modifier.ts }
177-
'2': { name: keyword.operator.ts }
178-
'3': { name: entity.name.function.ts }
179-
'4': { name: keyword.operator.ts }
177+
'2': { name: storage.modifier.ts }
178+
'3': { name: storage.modifier.ts }
179+
'4': { name: storage.type.property.ts }
180+
'5': { name: keyword.operator.ts }
181+
'6': { name: entity.name.function.ts }
182+
'7': { name: keyword.operator.ts }
180183

181184
indexer-declaration:
182185
name: meta.indexer.declaration.ts

TypeScript.tmLanguage

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -770,21 +770,36 @@
770770
<key>2</key>
771771
<dict>
772772
<key>name</key>
773-
<string>keyword.operator.ts</string>
773+
<string>storage.modifier.ts</string>
774774
</dict>
775775
<key>3</key>
776776
<dict>
777777
<key>name</key>
778-
<string>entity.name.function.ts</string>
778+
<string>storage.modifier.ts</string>
779779
</dict>
780780
<key>4</key>
781+
<dict>
782+
<key>name</key>
783+
<string>storage.type.property.ts</string>
784+
</dict>
785+
<key>5</key>
786+
<dict>
787+
<key>name</key>
788+
<string>keyword.operator.ts</string>
789+
</dict>
790+
<key>6</key>
791+
<dict>
792+
<key>name</key>
793+
<string>entity.name.function.ts</string>
794+
</dict>
795+
<key>7</key>
781796
<dict>
782797
<key>name</key>
783798
<string>keyword.operator.ts</string>
784799
</dict>
785800
</dict>
786801
<key>match</key>
787-
<string>\b(?:(public|private|protected)\s+)?(?:(new)|(?:([a-zA-Z_$][\.\w$]*)\s*(\??)))?\s*(?=\(|\&lt;)</string>
802+
<string>\b(?:(abstract)\s+)?\b(?:(public|private|protected)\s+)?\b(?:(async)\s+)?(?:(get|set)\s+)?(?:(new)|(?:([a-zA-Z_$][\.\w$]*)\s*(\??)))?\s*(?=\(|\&lt;)</string>
788803
<key>name</key>
789804
<string>meta.method.overload.declaration.ts</string>
790805
</dict>

tests/baselines/FunctionMethodOverloads.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,10 @@
4949
[36, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
5050
[37, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
5151
[37, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
52-
[38, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts
52+
[38, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts
53+
[43, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
54+
[44, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
55+
[48, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
56+
[48, 14]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
57+
[49, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
58+
[49, 14]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts

tests/cases/FunctionMethodOverloads.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,14 @@ class testClass {
3737
^public ^testMethodOverloadWithSemicolon(p: any): new () => any {
3838
^throw new Error("")
3939
}
40+
}
41+
42+
interface I {
43+
^foo(): number
44+
^bar(): string;
45+
}
46+
47+
abstract class C {
48+
^abstract ^foo()
49+
^abstract ^bar()
4050
}

0 commit comments

Comments
 (0)