From: Daniel Jasper Date: Mon, 20 Feb 2017 12:43:41 +0000 (+0000) Subject: clang-format: [JS/TS] Improve detection for array subscripts in types. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=393a3b47a4328d867fe00c6628fb419dfa7a31cd;p=clang clang-format: [JS/TS] Improve detection for array subscripts in types. Before: var someValue = (v as aaaaaaaaaaaaaaaaaaaa[ ]).someFunction(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa); After: var someValue = (v as aaaaaaaaaaaaaaaaaaaa[]) .someFunction(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295658 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 840fad0c33..0bf1ca4f4d 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -337,6 +337,9 @@ private: Contexts.back().ContextKind == tok::l_brace && Parent->isOneOf(tok::l_brace, tok::comma)) { Left->Type = TT_JsComputedPropertyName; + } else if (CurrentToken->is(tok::r_square) && Parent && + Parent->is(TT_TemplateCloser)) { + Left->Type = TT_ArraySubscriptLSquare; } else if (Style.Language == FormatStyle::LK_Proto || (!CppArrayTemplates && Parent && Parent->isOneOf(TT_BinaryOperator, TT_TemplateCloser, tok::at, diff --git a/unittests/Format/FormatTestJS.cpp b/unittests/Format/FormatTestJS.cpp index 4038e51259..ffd443cc3d 100644 --- a/unittests/Format/FormatTestJS.cpp +++ b/unittests/Format/FormatTestJS.cpp @@ -1095,6 +1095,9 @@ TEST_F(FormatTestJS, TypeAnnotations) { verifyFormat("function someFunc(args: string[]):\n" " {longReturnValue: string[]} {}", getGoogleJSStyleWithColumns(60)); + verifyFormat( + "var someValue = (v as aaaaaaaaaaaaaaaaaaaa[])\n" + " .someFunction(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);"); } TEST_F(FormatTestJS, UnionIntersectionTypes) {