From 1cc0e5feee9ab1719fa0c7f49360317eb1ce17e6 Mon Sep 17 00:00:00 2001 From: Tien Nguyen Date: Wed, 5 Aug 2015 15:03:49 -0700 Subject: [PATCH] Always indent PropertyAccessExpression. --- src/services/formatting/smartIndenter.ts | 1 + ...ngOnChainedCallbacksAndPropertyAccesses.ts | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tests/cases/fourslash/formattingOnChainedCallbacksAndPropertyAccesses.ts diff --git a/src/services/formatting/smartIndenter.ts b/src/services/formatting/smartIndenter.ts index db748f7f494..3b291b6e39a 100644 --- a/src/services/formatting/smartIndenter.ts +++ b/src/services/formatting/smartIndenter.ts @@ -418,6 +418,7 @@ namespace ts.formatting { case SyntaxKind.DefaultClause: case SyntaxKind.CaseClause: case SyntaxKind.ParenthesizedExpression: + case SyntaxKind.PropertyAccessExpression: case SyntaxKind.CallExpression: case SyntaxKind.NewExpression: case SyntaxKind.VariableStatement: diff --git a/tests/cases/fourslash/formattingOnChainedCallbacksAndPropertyAccesses.ts b/tests/cases/fourslash/formattingOnChainedCallbacksAndPropertyAccesses.ts new file mode 100644 index 00000000000..694f25f82e4 --- /dev/null +++ b/tests/cases/fourslash/formattingOnChainedCallbacksAndPropertyAccesses.ts @@ -0,0 +1,37 @@ +/// + +////var x = 1; + +////x +/////*1*/.toFixed + +////x +/////*2*/.toFixed() + +////x +/////*3*/.toFixed() +/////*4*/.length +/////*5*/.toString(); + +////x +/////*6*/.toFixed +/////*7*/.toString() +/////*8*/.length; + +format.document(); +goTo.marker('1'); +verify.currentLineContentIs(' .toFixed'); +goTo.marker('2'); +verify.currentLineContentIs(' .toFixed()'); +goTo.marker('3'); +verify.currentLineContentIs(' .toFixed()'); +goTo.marker('4'); +verify.currentLineContentIs(' .length'); +goTo.marker('5'); +verify.currentLineContentIs(' .toString();'); +goTo.marker('6'); +verify.currentLineContentIs(' .toFixed'); +goTo.marker('7'); +verify.currentLineContentIs(' .toString()'); +goTo.marker('8'); +verify.currentLineContentIs(' .length;');