From 889264f45700ccde10f4ae816150329cef8be541 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 2 Feb 2015 22:21:41 -0800 Subject: [PATCH] ensure that autoformat is triggered by token characters --- src/services/formatting/formatting.ts | 4 +++- tests/cases/fourslash/formattingInComment.ts | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/formattingInComment.ts diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index cab7547557c..c0188494f71 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -120,7 +120,9 @@ module ts.formatting { function findOutermostParent(position: number, expectedTokenKind: SyntaxKind, sourceFile: SourceFile): Node { var precedingToken = findPrecedingToken(position, sourceFile); - if (!precedingToken || precedingToken.kind !== expectedTokenKind) { + if (!precedingToken || + precedingToken.kind !== expectedTokenKind || + position !== precedingToken.getEnd()) { return undefined; } diff --git a/tests/cases/fourslash/formattingInComment.ts b/tests/cases/fourslash/formattingInComment.ts new file mode 100644 index 00000000000..9ce1c9203d5 --- /dev/null +++ b/tests/cases/fourslash/formattingInComment.ts @@ -0,0 +1,13 @@ +/// +////class A { +////foo( ); // /*1*/ +////} +////function foo() { var x; } // /*2*/ + +goTo.marker("1"); +edit.insert(";"); +verify.currentLineContentIs("foo( ); // ;") + +goTo.marker("2"); +edit.insert("}"); +verify.currentLineContentIs("function foo() { var x; } // }"); \ No newline at end of file