From 98e9e77255ba40c890bb19e5cf05c2e91d72ccab Mon Sep 17 00:00:00 2001 From: Armando Aguirre Date: Tue, 19 Jan 2021 15:55:01 -0800 Subject: [PATCH] Fixed JSDoc with only one asterisk in comment --- src/compiler/parser.ts | 16 +++++----------- .../fourslash/quickInfoJsDocTextFormatting1.ts | 6 +++--- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 0b404578806..8f854d750c5 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -7602,15 +7602,8 @@ namespace ts { if (state === JSDocState.BeginningOfLine) { // leading asterisks start recording on the *next* (non-whitespace) token state = JSDocState.SawAsterisk; - - if (lookAhead(() => nextTokenJSDoc() === SyntaxKind.AsteriskToken)) { - pushComment(scanner.getTokenText()); - tok = nextTokenJSDoc(); - } - else { - indent += 1; - break; - } + indent += 1; + break; } // record the * as a comment // falls through @@ -7695,13 +7688,14 @@ namespace ts { skipWhitespaceOrAsterisk(); const { name, isBracketed } = parseBracketNameInPropertyAndParamTag(); - skipWhitespace(); + const indentText = skipWhitespaceOrAsterisk(); if (isNameFirst) { typeExpression = tryParseTypeExpression(); } - const comment = parseTagComments(indent + scanner.getStartPos() - start); + const comment = parseTrailingTagComments(indent + scanner.getStartPos() - start, getNodePos(), indent, indentText); + const nestedTypeLiteral = target !== PropertyLikeParse.CallbackParameter && parseNestedTypeLiteral(typeExpression, name, target, indent); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; diff --git a/tests/cases/fourslash/quickInfoJsDocTextFormatting1.ts b/tests/cases/fourslash/quickInfoJsDocTextFormatting1.ts index 97e9712ed3c..334a0124315 100644 --- a/tests/cases/fourslash/quickInfoJsDocTextFormatting1.ts +++ b/tests/cases/fourslash/quickInfoJsDocTextFormatting1.ts @@ -9,7 +9,7 @@ //// function f1(var1, var2) { } //// //// /** -//// * @param {number} var1 *This asterisk gets trimmed unfortunatelly +//// * @param {number} var1 *Regular text with an asterisk //// * @param {string} var2 Another *Regular text with an asterisk //// */ //// function f2(var1, var2) { } @@ -57,10 +57,10 @@ verify.signatureHelp({ }); verify.signatureHelp({ marker: "2", - parameterDocComment: "This asterisk gets trimmed unfortunatelly", + parameterDocComment: "*Regular text with an asterisk", tags: [{ name: "param", - text: "var1 This asterisk gets trimmed unfortunatelly" + text: "var1 *Regular text with an asterisk" }, { name: "param", text: "var2 Another *Regular text with an asterisk"