Skip to content

Commit ce5f7c9

Browse files
committed
Recognize @internal in the line and block comments
Fixes #480
1 parent d3a3765 commit ce5f7c9

File tree

5 files changed

+226
-12
lines changed

5 files changed

+226
-12
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2043,16 +2043,21 @@ repository:
20432043
patterns:
20442044
- include: '#docblock'
20452045
- name: comment.block.ts
2046-
begin: /\*
2046+
begin: (/\*)(?:\s*((@)internal)(?=\s|(\*/)))?
20472047
beginCaptures:
2048-
'0': { name: punctuation.definition.comment.ts }
2048+
'1': { name: punctuation.definition.comment.ts }
2049+
'2': { name: storage.type.internaldeclaration.ts }
2050+
'3': { name: punctuation.decorator.internaldeclaration.ts }
20492051
end: \*/
20502052
endCaptures:
20512053
'0': { name: punctuation.definition.comment.ts }
2052-
- begin: (^[ \t]+)?(//)
2054+
- begin: (^[ \t]+)?((//)(?:\s*((@)internal)(?=\s|$))?)
20532055
beginCaptures:
20542056
'1': { name: punctuation.whitespace.comment.leading.ts }
2055-
'2': { name: comment.line.double-slash.ts punctuation.definition.comment.ts }
2057+
'2': { name: comment.line.double-slash.ts }
2058+
'3': { name: punctuation.definition.comment.ts }
2059+
'4': { name: storage.type.internaldeclaration.ts }
2060+
'5': { name: punctuation.decorator.internaldeclaration.ts }
20562061
end: (?=^)
20572062
contentName: comment.line.double-slash.ts
20582063

TypeScript.tmLanguage

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5628,14 +5628,24 @@
56285628
<key>name</key>
56295629
<string>comment.block.ts</string>
56305630
<key>begin</key>
5631-
<string>/\*</string>
5631+
<string>(/\*)(?:\s*((@)internal)(?=\s|(\*/)))?</string>
56325632
<key>beginCaptures</key>
56335633
<dict>
5634-
<key>0</key>
5634+
<key>1</key>
56355635
<dict>
56365636
<key>name</key>
56375637
<string>punctuation.definition.comment.ts</string>
56385638
</dict>
5639+
<key>2</key>
5640+
<dict>
5641+
<key>name</key>
5642+
<string>storage.type.internaldeclaration.ts</string>
5643+
</dict>
5644+
<key>3</key>
5645+
<dict>
5646+
<key>name</key>
5647+
<string>punctuation.decorator.internaldeclaration.ts</string>
5648+
</dict>
56395649
</dict>
56405650
<key>end</key>
56415651
<string>\*/</string>
@@ -5650,7 +5660,7 @@
56505660
</dict>
56515661
<dict>
56525662
<key>begin</key>
5653-
<string>(^[ \t]+)?(//)</string>
5663+
<string>(^[ \t]+)?((//)(?:\s*((@)internal)(?=\s|$))?)</string>
56545664
<key>beginCaptures</key>
56555665
<dict>
56565666
<key>1</key>
@@ -5661,7 +5671,22 @@
56615671
<key>2</key>
56625672
<dict>
56635673
<key>name</key>
5664-
<string>comment.line.double-slash.ts punctuation.definition.comment.ts</string>
5674+
<string>comment.line.double-slash.ts</string>
5675+
</dict>
5676+
<key>3</key>
5677+
<dict>
5678+
<key>name</key>
5679+
<string>punctuation.definition.comment.ts</string>
5680+
</dict>
5681+
<key>4</key>
5682+
<dict>
5683+
<key>name</key>
5684+
<string>storage.type.internaldeclaration.ts</string>
5685+
</dict>
5686+
<key>5</key>
5687+
<dict>
5688+
<key>name</key>
5689+
<string>punctuation.decorator.internaldeclaration.ts</string>
56655690
</dict>
56665691
</dict>
56675692
<key>end</key>

TypeScriptReact.tmLanguage

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5574,14 +5574,24 @@
55745574
<key>name</key>
55755575
<string>comment.block.tsx</string>
55765576
<key>begin</key>
5577-
<string>/\*</string>
5577+
<string>(/\*)(?:\s*((@)internal)(?=\s|(\*/)))?</string>
55785578
<key>beginCaptures</key>
55795579
<dict>
5580-
<key>0</key>
5580+
<key>1</key>
55815581
<dict>
55825582
<key>name</key>
55835583
<string>punctuation.definition.comment.tsx</string>
55845584
</dict>
5585+
<key>2</key>
5586+
<dict>
5587+
<key>name</key>
5588+
<string>storage.type.internaldeclaration.tsx</string>
5589+
</dict>
5590+
<key>3</key>
5591+
<dict>
5592+
<key>name</key>
5593+
<string>punctuation.decorator.internaldeclaration.tsx</string>
5594+
</dict>
55855595
</dict>
55865596
<key>end</key>
55875597
<string>\*/</string>
@@ -5596,7 +5606,7 @@
55965606
</dict>
55975607
<dict>
55985608
<key>begin</key>
5599-
<string>(^[ \t]+)?(//)</string>
5609+
<string>(^[ \t]+)?((//)(?:\s*((@)internal)(?=\s|$))?)</string>
56005610
<key>beginCaptures</key>
56015611
<dict>
56025612
<key>1</key>
@@ -5607,7 +5617,22 @@
56075617
<key>2</key>
56085618
<dict>
56095619
<key>name</key>
5610-
<string>comment.line.double-slash.tsx punctuation.definition.comment.tsx</string>
5620+
<string>comment.line.double-slash.tsx</string>
5621+
</dict>
5622+
<key>3</key>
5623+
<dict>
5624+
<key>name</key>
5625+
<string>punctuation.definition.comment.tsx</string>
5626+
</dict>
5627+
<key>4</key>
5628+
<dict>
5629+
<key>name</key>
5630+
<string>storage.type.internaldeclaration.tsx</string>
5631+
</dict>
5632+
<key>5</key>
5633+
<dict>
5634+
<key>name</key>
5635+
<string>punctuation.decorator.internaldeclaration.tsx</string>
56115636
</dict>
56125637
</dict>
56135638
<key>end</key>

tests/baselines/Issue480.baseline.txt

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
original file
2+
-----------------------------------
3+
/* @internal */
4+
export interface Pattern {
5+
prefix: string;
6+
suffix: string;
7+
}
8+
9+
// @internal
10+
export interface Pattern2 {
11+
prefix: string;
12+
suffix: string;
13+
}
14+
-----------------------------------
15+
16+
Grammar: TypeScript.tmLanguage
17+
-----------------------------------
18+
>/* @internal */
19+
^^
20+
source.ts comment.block.ts punctuation.definition.comment.ts
21+
^
22+
source.ts comment.block.ts
23+
^
24+
source.ts comment.block.ts storage.type.internaldeclaration.ts punctuation.decorator.internaldeclaration.ts
25+
^^^^^^^^
26+
source.ts comment.block.ts storage.type.internaldeclaration.ts
27+
^
28+
source.ts comment.block.ts
29+
^^
30+
source.ts comment.block.ts punctuation.definition.comment.ts
31+
^^
32+
source.ts
33+
>export interface Pattern {
34+
^^^^^^
35+
source.ts meta.interface.ts keyword.control.export.ts
36+
^
37+
source.ts meta.interface.ts
38+
^^^^^^^^^
39+
source.ts meta.interface.ts storage.type.interface.ts
40+
^
41+
source.ts meta.interface.ts
42+
^^^^^^^
43+
source.ts meta.interface.ts entity.name.type.interface.ts
44+
^
45+
source.ts meta.interface.ts
46+
^
47+
source.ts meta.interface.ts punctuation.definition.block.ts
48+
^^
49+
source.ts meta.interface.ts
50+
> prefix: string;
51+
^^^^^^^^
52+
source.ts meta.interface.ts
53+
^^^^^^
54+
source.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
55+
^
56+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
57+
^
58+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
59+
^^^^^^
60+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
61+
^
62+
source.ts meta.interface.ts punctuation.terminator.statement.ts
63+
^^
64+
source.ts meta.interface.ts
65+
> suffix: string;
66+
^^^^^^^^
67+
source.ts meta.interface.ts
68+
^^^^^^
69+
source.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
70+
^
71+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
72+
^
73+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
74+
^^^^^^
75+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
76+
^
77+
source.ts meta.interface.ts punctuation.terminator.statement.ts
78+
^^
79+
source.ts meta.interface.ts
80+
>}
81+
^
82+
source.ts meta.interface.ts punctuation.definition.block.ts
83+
^^
84+
source.ts
85+
>
86+
^^
87+
source.ts
88+
>// @internal
89+
^^
90+
source.ts comment.line.double-slash.ts punctuation.definition.comment.ts
91+
^
92+
source.ts comment.line.double-slash.ts
93+
^
94+
source.ts comment.line.double-slash.ts storage.type.internaldeclaration.ts punctuation.decorator.internaldeclaration.ts
95+
^^^^^^^^
96+
source.ts comment.line.double-slash.ts storage.type.internaldeclaration.ts
97+
^^
98+
source.ts comment.line.double-slash.ts
99+
>export interface Pattern2 {
100+
^^^^^^
101+
source.ts meta.interface.ts keyword.control.export.ts
102+
^
103+
source.ts meta.interface.ts
104+
^^^^^^^^^
105+
source.ts meta.interface.ts storage.type.interface.ts
106+
^
107+
source.ts meta.interface.ts
108+
^^^^^^^^
109+
source.ts meta.interface.ts entity.name.type.interface.ts
110+
^
111+
source.ts meta.interface.ts
112+
^
113+
source.ts meta.interface.ts punctuation.definition.block.ts
114+
^^
115+
source.ts meta.interface.ts
116+
> prefix: string;
117+
^^^^^^^^
118+
source.ts meta.interface.ts
119+
^^^^^^
120+
source.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
121+
^
122+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
123+
^
124+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
125+
^^^^^^
126+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
127+
^
128+
source.ts meta.interface.ts punctuation.terminator.statement.ts
129+
^^
130+
source.ts meta.interface.ts
131+
> suffix: string;
132+
^^^^^^^^
133+
source.ts meta.interface.ts
134+
^^^^^^
135+
source.ts meta.interface.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts
136+
^
137+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts
138+
^
139+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts
140+
^^^^^^
141+
source.ts meta.interface.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts
142+
^
143+
source.ts meta.interface.ts punctuation.terminator.statement.ts
144+
^^
145+
source.ts meta.interface.ts
146+
>}
147+
^
148+
source.ts meta.interface.ts punctuation.definition.block.ts

tests/cases/Issue480.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/* @internal */
2+
export interface Pattern {
3+
prefix: string;
4+
suffix: string;
5+
}
6+
7+
// @internal
8+
export interface Pattern2 {
9+
prefix: string;
10+
suffix: string;
11+
}

0 commit comments

Comments
 (0)