Skip to content

Commit 995023c

Browse files
committed
Fix double asterisk formatting in JSDoc
1 parent c83f769 commit 995023c

File tree

2 files changed

+110
-2
lines changed

2 files changed

+110
-2
lines changed

src/compiler/parser.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7602,8 +7602,15 @@ namespace ts {
76027602
if (state === JSDocState.BeginningOfLine) {
76037603
// leading asterisks start recording on the *next* (non-whitespace) token
76047604
state = JSDocState.SawAsterisk;
7605-
indent += 1;
7606-
break;
7605+
7606+
if (lookAhead(() => nextTokenJSDoc() === SyntaxKind.AsteriskToken)) {
7607+
pushComment(scanner.getTokenText());
7608+
tok = nextTokenJSDoc();
7609+
}
7610+
else {
7611+
indent += 1;
7612+
break;
7613+
}
76077614
}
76087615
// record the * as a comment
76097616
// falls through
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
// Regression test for #33386
4+
5+
//// /**
6+
//// * @param {number} var1 **Highlighted text**
7+
//// * @param {string} var2 Another **Highlighted text**
8+
//// */
9+
//// function f1(var1, var2) { }
10+
////
11+
//// /**
12+
//// * @param {number} var1 *This asterisk gets trimmed unfortunatelly
13+
//// * @param {string} var2 Another *Regular text with an asterisk
14+
//// */
15+
//// function f2(var1, var2) { }
16+
////
17+
//// /**
18+
//// * @param {number} var1
19+
//// * *Regular text with an asterisk
20+
//// * @param {string} var2
21+
//// * Another *Regular text with an asterisk
22+
//// */
23+
//// function f3(var1, var2) { }
24+
////
25+
//// /**
26+
//// * @param {number} var1
27+
//// * **Highlighted text**
28+
//// * @param {string} var2
29+
//// * Another **Highlighted text**
30+
//// */
31+
//// function f4(var1, var2) { }
32+
////
33+
//// /**
34+
//// * @param {number} var1
35+
//// **Highlighted text**
36+
//// * @param {string} var2
37+
//// Another **Highlighted text**
38+
//// */
39+
//// function f5(var1, var2) { }
40+
////
41+
//// f1(/*1*/);
42+
//// f2(/*2*/);
43+
//// f3(/*3*/);
44+
//// f4(/*4*/);
45+
//// f5(/*5*/);
46+
47+
verify.signatureHelp({
48+
marker: "1",
49+
parameterDocComment: "**Highlighted text**",
50+
tags: [{
51+
name: "param",
52+
text: "var1 **Highlighted text**"
53+
}, {
54+
name: "param",
55+
text: "var2 Another **Highlighted text**"
56+
}]
57+
});
58+
verify.signatureHelp({
59+
marker: "2",
60+
parameterDocComment: "This asterisk gets trimmed unfortunatelly",
61+
tags: [{
62+
name: "param",
63+
text: "var1 This asterisk gets trimmed unfortunatelly"
64+
}, {
65+
name: "param",
66+
text: "var2 Another *Regular text with an asterisk"
67+
}]
68+
});
69+
verify.signatureHelp({
70+
marker: "3",
71+
parameterDocComment: "*Regular text with an asterisk",
72+
tags: [{
73+
name: "param",
74+
text: "var1 *Regular text with an asterisk"
75+
}, {
76+
name: "param",
77+
text: "var2 Another *Regular text with an asterisk"
78+
}]
79+
});
80+
verify.signatureHelp({
81+
marker: "4",
82+
parameterDocComment: "**Highlighted text**",
83+
tags: [{
84+
name: "param",
85+
text: "var1 **Highlighted text**"
86+
}, {
87+
name: "param",
88+
text: "var2 Another **Highlighted text**"
89+
}]
90+
});
91+
verify.signatureHelp({
92+
marker: "5",
93+
parameterDocComment: "**Highlighted text**",
94+
tags: [{
95+
name: "param",
96+
text: "var1 **Highlighted text**"
97+
}, {
98+
name: "param",
99+
text: "var2 Another **Highlighted text**"
100+
}]
101+
});

0 commit comments

Comments
 (0)