Skip to content

Commit d960200

Browse files
committed
Merge pull request #8195 from Microsoft/fix-formatting-multiline-comments
fix formatting for lines that start with continuation of multiline co…
2 parents 0acd860 + 80df773 commit d960200

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

src/services/formatting/formatting.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -728,25 +728,24 @@ namespace ts.formatting {
728728
dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind, container) :
729729
Constants.Unknown;
730730

731+
let indentNextTokenOrTrivia = true;
731732
if (currentTokenInfo.leadingTrivia) {
732733
let commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind, tokenIndentation, container);
733-
let indentNextTokenOrTrivia = true;
734734

735735
for (let triviaItem of currentTokenInfo.leadingTrivia) {
736-
if (!rangeContainsRange(originalRange, triviaItem)) {
737-
continue;
738-
}
739-
736+
const triviaInRange = rangeContainsRange(originalRange, triviaItem);
740737
switch (triviaItem.kind) {
741738
case SyntaxKind.MultiLineCommentTrivia:
742-
indentMultilineComment(triviaItem, commentIndentation, /*firstLineIsIndented*/ !indentNextTokenOrTrivia);
739+
if (triviaInRange) {
740+
indentMultilineComment(triviaItem, commentIndentation, /*firstLineIsIndented*/ !indentNextTokenOrTrivia);
741+
}
743742
indentNextTokenOrTrivia = false;
744743
break;
745744
case SyntaxKind.SingleLineCommentTrivia:
746-
if (indentNextTokenOrTrivia) {
745+
if (indentNextTokenOrTrivia && triviaInRange) {
747746
insertIndentation(triviaItem.pos, commentIndentation, /*lineAdded*/ false);
748-
indentNextTokenOrTrivia = false;
749747
}
748+
indentNextTokenOrTrivia = false;
750749
break;
751750
case SyntaxKind.NewLineTrivia:
752751
indentNextTokenOrTrivia = true;
@@ -756,7 +755,7 @@ namespace ts.formatting {
756755
}
757756

758757
// indent token only if is it is in target range and does not overlap with any error ranges
759-
if (tokenIndentation !== Constants.Unknown) {
758+
if (tokenIndentation !== Constants.Unknown && indentNextTokenOrTrivia) {
760759
insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAdded);
761760

762761
lastIndentedLine = tokenStart.line;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
////f(/*
4+
/////*2*/ */() => { /*1*/ });
5+
6+
goTo.marker("1");
7+
edit.insertLine("");
8+
goTo.marker("2");
9+
verify.currentLineContentIs(" */() => {");

0 commit comments

Comments
 (0)