Skip to content

Commit 976c25c

Browse files
Add support for enums and property signatures
1 parent 4977218 commit 976c25c

3 files changed

Lines changed: 53 additions & 25 deletions

File tree

src/services/jsDoc.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,6 @@ namespace ts.JsDoc {
259259
}
260260
function getCommentOwnerInfo(tokenAtPos: Node): CommentOwnerInfo | undefined {
261261
// TODO: add support for:
262-
// - enums/enum members
263-
// - property declarations
264262
// - potentially property assignments
265263
for (let commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) {
266264
switch (commentOwner.kind) {
@@ -273,6 +271,9 @@ namespace ts.JsDoc {
273271

274272
case SyntaxKind.ClassDeclaration:
275273
case SyntaxKind.InterfaceDeclaration:
274+
case SyntaxKind.PropertySignature:
275+
case SyntaxKind.EnumDeclaration:
276+
case SyntaxKind.EnumMember:
276277
return { commentOwner };
277278

278279
case SyntaxKind.VariableStatement: {

tests/cases/fourslash/docCommentTemplateInterfaces.ts

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/// <reference path='fourslash.ts' />
2+
3+
/////*interfaceFoo*/
4+
////interface Foo {
5+
//// /*propertybar*/
6+
//// bar: any;
7+
////
8+
//// /*methodbaz*/
9+
//// baz(message: any): void;
10+
////}
11+
////
12+
/////*enumStatus*/
13+
////const enum Status {
14+
//// /*memberOpen*/
15+
//// Open,
16+
////
17+
//// /*memberClosed*/
18+
//// Closed
19+
////}
20+
21+
verify.docCommentTemplateAt("interfaceFoo", /*expectedOffset*/ 8,
22+
`/**
23+
*
24+
*/`);
25+
26+
verify.docCommentTemplateAt("propertybar", /*expectedOffset*/ 12,
27+
`/**
28+
*
29+
*/`);
30+
31+
verify.docCommentTemplateAt("methodbaz", /*expectedOffset*/ 12,
32+
`/**
33+
*
34+
* @param message
35+
*/`);
36+
37+
verify.docCommentTemplateAt("enumStatus", /*expectedOffset*/ 8,
38+
`/**
39+
*
40+
*/`);
41+
42+
verify.docCommentTemplateAt("memberOpen", /*expectedOffset*/ 12,
43+
`/**
44+
*
45+
*/`);
46+
47+
verify.docCommentTemplateAt("memberClosed", /*expectedOffset*/ 12,
48+
`/**
49+
*
50+
*/`);

0 commit comments

Comments
 (0)