aboutsummaryrefslogtreecommitdiff
path: root/lib/Format/Format.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2013-01-23 20:41:06 +0000
committerDaniel Jasper <djasper@google.com>2013-01-23 20:41:06 +0000
commite438bac04165937036e41c321fa0d5567d1e520c (patch)
tree51d144e3bb5f34d9f3760011f054ca8b88bda0c7 /lib/Format/Format.cpp
parent630f4bb9f12e330438281c4e46deb6656620b73a (diff)
Add extra indent for nested calls inside if's.
Before: if (aaaaaaaaaa( aaaaaaaaaa)) {} After: if (aaaaaaaaaa( aaaaaaaaaa)) {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173290 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format/Format.cpp')
-rw-r--r--lib/Format/Format.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index eb18be82b3..b16eb15318 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -604,10 +604,14 @@ private:
Current.isNot(tok::comment))
State.Stack[ParenLevel].HasMultiParameterLine = true;
- // Top-level spaces are exempt as that mostly leads to better results.
State.Column += Spaces;
- if (Spaces > 0 && ParenLevel != 0)
- State.Stack[ParenLevel].LastSpace = State.Column;
+ if (Current.is(tok::l_paren) && Previous.is(tok::kw_if))
+ // Treat the condition inside an if as if it was a second function
+ // parameter, i.e. let nested calls have an indent of 4.
+ State.Stack.back().LastSpace = State.Column + 1; // 1 is length of "(".
+ else if (Spaces > 0 && ParenLevel != 0)
+ // Top-level spaces are exempt as that mostly leads to better results.
+ State.Stack.back().LastSpace = State.Column;
}
// If we break after an {, we should also break before the corresponding }.