From 8497667f33164943b6fca032bb8216af978a1f3c Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Tue, 20 Jan 2015 14:44:24 -0800 Subject: [PATCH] drop trailing trivia prior to rescanning it --- src/services/formatting/formattingScanner.ts | 3 +++ tests/cases/fourslash/formatTemplateLiteral.ts | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/services/formatting/formattingScanner.ts b/src/services/formatting/formattingScanner.ts index 7ddfecc17f2..e9485158aba 100644 --- a/src/services/formatting/formattingScanner.ts +++ b/src/services/formatting/formattingScanner.ts @@ -187,6 +187,9 @@ module ts.formatting { } // consume trailing trivia + if (trailingTrivia) { + trailingTrivia = undefined; + } while(scanner.getStartPos() < endPos) { currentToken = scanner.scan(); if (!isTrivia(currentToken)) { diff --git a/tests/cases/fourslash/formatTemplateLiteral.ts b/tests/cases/fourslash/formatTemplateLiteral.ts index b20eb4053f3..a1f5ef963da 100644 --- a/tests/cases/fourslash/formatTemplateLiteral.ts +++ b/tests/cases/fourslash/formatTemplateLiteral.ts @@ -1,7 +1,13 @@ /// ////var x = `sadasdasdasdasfegsfd /////*1*/rasdesgeryt35t35y35 e4 ergt er 35t 3535 `; +////var y = `1${2}/*2*/3`; + goTo.marker("1"); edit.insert("\r\n"); // edit will trigger formatting - should succeeed +goTo.marker("2"); +edit.insert("\r\n"); +verify.indentationIs(0); +verify.currentLineContentIs("3`;") \ No newline at end of file