]> granicus.if.org Git - clang/commitdiff
clang-format: Lower penalty for breaking between array subscripts.
authorDaniel Jasper <djasper@google.com>
Wed, 23 Dec 2015 18:01:43 +0000 (18:01 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 23 Dec 2015 18:01:43 +0000 (18:01 +0000)
Before:
  aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa(aaaaaaaaaaaa)][bbbbbbbbbbb(
      bbbbbbbbbbbb)]

After:
  aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa(aaaaaaaaaaaa)]
                           [bbbbbbbbbbb(bbbbbbbbbbbb)]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256343 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index 52dd831b6779ce1ac6d4d0f4a01a2d0579ba92ed..7406cfe95b6226945908b3aff053cd32bb1d8b06 100644 (file)
@@ -1722,7 +1722,7 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line,
                               Right.Next->is(TT_DictLiteral)))
     return 1;
   if (Right.is(tok::l_square)) {
-    if (Style.Language == FormatStyle::LK_Proto)
+    if (Style.Language == FormatStyle::LK_Proto || Left.is(tok::r_square))
       return 1;
     // Slightly prefer formatting local lambda definitions like functions.
     if (Right.is(TT_LambdaLSquare) && Left.is(tok::equal))
index ac7bd5abf714c4521f3ef5fe218bd4dafdeeadf7..55756aa247e2c6af03b414c4138edb61b9d2bfa5 100644 (file)
@@ -6044,6 +6044,8 @@ TEST_F(FormatTest, BreaksLongDeclarations) {
 TEST_F(FormatTest, FormatsArrays) {
   verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaaaaaaaaaaaaaaa]\n"
                "                         [bbbbbbbbbbbbbbbbbbbbbbbbb] = c;");
+  verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa(aaaaaaaaaaaa)]\n"
+               "                         [bbbbbbbbbbb(bbbbbbbbbbbb)] = c;");
   verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
                "    [bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb] = ccccccccccc;");
   verifyFormat("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"