From: Daniel Jasper Date: Fri, 10 May 2013 13:37:16 +0000 (+0000) Subject: When breaking at function calls, indent from function name. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04abbb2125272a9930cbaee6530e7754566d8e66;p=clang When breaking at function calls, indent from function name. Otherwise (when indenting from the wrapped -> or .), this looks like a confusing indent. Before: aaaaaaa // .aaaaaaa( // aaaaaaa); After: aaaaaaa // .aaaaaaa( // aaaaaaa); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181595 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 98cb81ef41..9a320f94bd 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -496,6 +496,8 @@ private: } State.Stack.back().LastSpace = State.Column; + if (Current.isOneOf(tok::arrow, tok::period)) + State.Stack.back().LastSpace += Current.FormatTok.TokenLength; State.StartOfLineLevel = State.ParenLevel; // Any break on this level means that the parent level has been broken @@ -599,7 +601,8 @@ private: if (Current.isOneOf(tok::period, tok::arrow) && Line.Type == LT_BuilderTypeCall && State.ParenLevel == 0) State.Stack.back().StartOfFunctionCall = - Current.LastInChainOfCalls ? 0 : State.Column; + Current.LastInChainOfCalls ? 0 : State.Column + + Current.FormatTok.TokenLength; if (Current.Type == TT_CtorInitializerColon) { State.Stack.back().Indent = State.Column + 2; if (Style.ConstructorInitializerAllOnOneLineOrOnePerLine) diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index f8ccf86070..f694c5b214 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -1976,7 +1976,7 @@ TEST_F(FormatTest, FormatsBuilderPattern) { verifyFormat( "aaaaaaaaaaaaaaaaaaaaaaa *aaaaaaaaa = aaaaaa->aaaaaaaaaaaa()\n" " ->aaaaaaaaaaaaaaaa(\n" - " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\n" " ->aaaaaaaaaaaaaaaaa();"); } @@ -2296,8 +2296,8 @@ TEST_F(FormatTest, WrapsAtFunctionCallsIfNecessary) { "aaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n" " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\n" " .aaaaaaaaaaaaaaa(\n" - " aa(aaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaa,\n" - " aaaaaaaaaaaaaaaaaaaaaaaaaaa));"); + " aa(aaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaa,\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaa));"); verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" " .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" " .aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"