Skip to content

Commit 078f005

Browse files
committed
Merge pull request #99 from anubmat/fix_89
Correctly classify keywords in heritage clauses
2 parents f79b776 + a740dfb commit 078f005

File tree

6 files changed

+58
-16
lines changed

6 files changed

+58
-16
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ repository:
8686

8787
object-heritage:
8888
name: meta.object.heritage.ts
89-
begin: '(?:\b(extends|implements))'
89+
begin: '(?:\b(extends|implements)\b)'
9090
beginCaptures:
9191
'1': { name: keyword.other.ts }
9292
end: (?=\{)
@@ -96,11 +96,11 @@ repository:
9696
- include: '#comment'
9797
- include: '#object-heritage'
9898
- include: '#type-parameters'
99-
- include: '#object-heritage-parent'
99+
- include: '#object-heritage-type'
100100

101-
object-heritage-parent:
101+
object-heritage-type:
102102
name: meta.object.heritage.parent.ts
103-
match: '(?:\s*([a-zA-Z_$][\w$]*))'
103+
match: '(?:\s*([a-zA-Z_$][\w$]*)\b)'
104104
captures:
105105
'1': { name: storage.type.ts }
106106

TypeScript.tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -998,7 +998,7 @@
998998
<key>object-heritage</key>
999999
<dict>
10001000
<key>begin</key>
1001-
<string>(?:\b(extends|implements))</string>
1001+
<string>(?:\b(extends|implements)\b)</string>
10021002
<key>beginCaptures</key>
10031003
<dict>
10041004
<key>1</key>
@@ -1035,11 +1035,11 @@
10351035
</dict>
10361036
<dict>
10371037
<key>include</key>
1038-
<string>#object-heritage-parent</string>
1038+
<string>#object-heritage-type</string>
10391039
</dict>
10401040
</array>
10411041
</dict>
1042-
<key>object-heritage-parent</key>
1042+
<key>object-heritage-type</key>
10431043
<dict>
10441044
<key>captures</key>
10451045
<dict>
@@ -1050,7 +1050,7 @@
10501050
</dict>
10511051
</dict>
10521052
<key>match</key>
1053-
<string>(?:\s*([a-zA-Z_$][\w$]*))</string>
1053+
<string>(?:\s*([a-zA-Z_$][\w$]*)\b)</string>
10541054
<key>name</key>
10551055
<string>meta.object.heritage.parent.ts</string>
10561056
</dict>

TypeScriptReact.YAML-tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ repository:
8888

8989
object-heritage:
9090
name: meta.object.heritage.tsx
91-
begin: '(?:\b(extends|implements))'
91+
begin: '(?:\b(extends|implements)\b)'
9292
beginCaptures:
9393
'1': { name: keyword.other.tsx }
9494
end: (?=\{)
@@ -98,11 +98,11 @@ repository:
9898
- include: '#comment'
9999
- include: '#object-heritage'
100100
- include: '#type-parameters'
101-
- include: '#object-heritage-parent'
101+
- include: '#object-heritage-type'
102102

103-
object-heritage-parent:
103+
object-heritage-type:
104104
name: meta.object.heritage.parent.tsx
105-
match: '(?:\s*([a-zA-Z_$][\w$]*))'
105+
match: '(?:\s*([a-zA-Z_$][\w$]*)\b)'
106106
captures:
107107
'1': { name: storage.type.tsx }
108108

TypeScriptReact.tmLanguage

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,7 @@
13641364
<key>object-heritage</key>
13651365
<dict>
13661366
<key>begin</key>
1367-
<string>(?:\b(extends|implements))</string>
1367+
<string>(?:\b(extends|implements)\b)</string>
13681368
<key>beginCaptures</key>
13691369
<dict>
13701370
<key>1</key>
@@ -1401,11 +1401,11 @@
14011401
</dict>
14021402
<dict>
14031403
<key>include</key>
1404-
<string>#object-heritage-parent</string>
1404+
<string>#object-heritage-type</string>
14051405
</dict>
14061406
</array>
14071407
</dict>
1408-
<key>object-heritage-parent</key>
1408+
<key>object-heritage-type</key>
14091409
<dict>
14101410
<key>captures</key>
14111411
<dict>
@@ -1416,7 +1416,7 @@
14161416
</dict>
14171417
</dict>
14181418
<key>match</key>
1419-
<string>(?:\s*([a-zA-Z_$][\w$]*))</string>
1419+
<string>(?:\s*([a-zA-Z_$][\w$]*)\b)</string>
14201420
<key>name</key>
14211421
<string>meta.object.heritage.parent.tsx</string>
14221422
</dict>

tests/baselines/Issue89.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[1, 8]: source.ts meta.declaration.object.ts storage.type.ts
2+
[1, 14]: source.ts meta.declaration.object.ts meta.object.name.ts entity.name.class.ts
3+
[1, 16]: source.ts meta.declaration.object.ts meta.object.heritage.ts keyword.other.ts
4+
[1, 27]: source.ts meta.declaration.object.ts meta.object.heritage.ts comment.block.ts
5+
[1, 30]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
6+
[1, 32]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
7+
[1, 47]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
8+
[2, 2]: source.ts meta.declaration.object.ts meta.object.body.ts
9+
[4, 1]: source.ts
10+
[7, 14]: source.ts meta.declaration.object.ts meta.object.name.ts entity.name.class.ts
11+
[7, 16]: source.ts meta.declaration.object.ts meta.object.heritage.ts keyword.other.ts
12+
[7, 31]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts
13+
[7, 34]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
14+
[7, 46]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
15+
[7, 48]: source.ts meta.declaration.object.ts meta.object.heritage.ts
16+
[8, 2]: source.ts meta.declaration.object.ts meta.object.body.ts
17+
[10, 1]: source.ts
18+
[12, 14]: source.ts meta.declaration.object.ts meta.object.name.ts entity.name.class.ts
19+
[12, 16]: source.ts meta.declaration.object.ts meta.object.heritage.ts keyword.other.ts
20+
[12, 28]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
21+
[12, 30]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts
22+
[12, 43]: source.ts meta.declaration.object.ts meta.object.heritage.ts comment.block.ts
23+
[12, 46]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
24+
[12, 51]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
25+
[12, 56]: source.ts meta.declaration.object.ts meta.object.heritage.ts meta.object.heritage.parent.ts storage.type.ts
26+
[13, 2]: source.ts meta.declaration.object.ts meta.object.body.ts
27+
[15, 1]: source.ts

tests/cases/Issue89.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export ^^class ^^A ^^extends /* ^^ */^^B ^^implements/**/ ^^C{
2+
^^
3+
}
4+
^^
5+
6+
7+
export class ^^D ^^implements/**/ ^^ F ^^extends /**/^^G ^^ {
8+
^^
9+
}
10+
^^
11+
12+
export class ^^E ^^extends /**/^^H ^^ implements/*^^*/ ^^One, ^^Two, ^^Three{
13+
^^
14+
}
15+
^^

0 commit comments

Comments
 (0)