diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts index 07db4402cbf..622463d96fa 100644 --- a/src/services/jsDoc.ts +++ b/src/services/jsDoc.ts @@ -259,8 +259,6 @@ namespace ts.JsDoc { } function getCommentOwnerInfo(tokenAtPos: Node): CommentOwnerInfo | undefined { // TODO: add support for: - // - enums/enum members - // - property declarations // - potentially property assignments for (let commentOwner = tokenAtPos; commentOwner; commentOwner = commentOwner.parent) { switch (commentOwner.kind) { @@ -273,6 +271,9 @@ namespace ts.JsDoc { case SyntaxKind.ClassDeclaration: case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.PropertySignature: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.EnumMember: return { commentOwner }; case SyntaxKind.VariableStatement: { diff --git a/tests/cases/fourslash/docCommentTemplateInterfaces.ts b/tests/cases/fourslash/docCommentTemplateInterfaces.ts deleted file mode 100644 index 2faf49351f2..00000000000 --- a/tests/cases/fourslash/docCommentTemplateInterfaces.ts +++ /dev/null @@ -1,23 +0,0 @@ -/// - -/////*interfaceFoo*/ -////interface Foo { -//// /*propertybar*/ -//// bar: any; -//// -//// /*methodbaz*/ -//// baz(message: any): void; -////} - -verify.docCommentTemplateAt("interfaceFoo", /*expectedOffset*/ 8, -`/** - * - */`); - -verify.emptyDocCommentTemplateAt("propertybar"); - -verify.docCommentTemplateAt("methodbaz", /*expectedOffset*/ 12, - `/** - * - * @param message - */`); \ No newline at end of file diff --git a/tests/cases/fourslash/docCommentTemplateInterfacesAndEnums.ts b/tests/cases/fourslash/docCommentTemplateInterfacesAndEnums.ts new file mode 100644 index 00000000000..ed10ba86d98 --- /dev/null +++ b/tests/cases/fourslash/docCommentTemplateInterfacesAndEnums.ts @@ -0,0 +1,50 @@ +/// + +/////*interfaceFoo*/ +////interface Foo { +//// /*propertybar*/ +//// bar: any; +//// +//// /*methodbaz*/ +//// baz(message: any): void; +////} +//// +/////*enumStatus*/ +////const enum Status { +//// /*memberOpen*/ +//// Open, +//// +//// /*memberClosed*/ +//// Closed +////} + +verify.docCommentTemplateAt("interfaceFoo", /*expectedOffset*/ 8, +`/** + * + */`); + +verify.docCommentTemplateAt("propertybar", /*expectedOffset*/ 12, + `/** + * + */`); + +verify.docCommentTemplateAt("methodbaz", /*expectedOffset*/ 12, + `/** + * + * @param message + */`); + +verify.docCommentTemplateAt("enumStatus", /*expectedOffset*/ 8, +`/** + * + */`); + +verify.docCommentTemplateAt("memberOpen", /*expectedOffset*/ 12, + `/** + * + */`); + +verify.docCommentTemplateAt("memberClosed", /*expectedOffset*/ 12, + `/** + * + */`); \ No newline at end of file