From 793ef6a694c16b78f4810eb6c82cad4233e4b1c6 Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Tue, 6 Jul 2010 09:44:04 +0200 Subject: [PATCH] C++ indenter: Fix 'else' indentation in GNU style. --- src/plugins/cpptools/cppcodeformatter.cpp | 2 ++ tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 4eb3a3ac84a..97db194e70a 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -1006,6 +1006,8 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd while (isBracelessState(state(outermostBraceless).type)) ++outermostBraceless; *indentDepth = state(outermostBraceless - 1).savedIndentDepth; + // this is where the else should go, if one appears - aligned to if_statement + *savedIndentDepth = state().savedIndentDepth; } break; case for_statement_paren_open: diff --git a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp index 8e9b5d3fec8..7c49cc4c236 100644 --- a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp +++ b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp @@ -713,6 +713,13 @@ void tst_CodeFormatter::gnuStyle() << Line(" {") << Line(" fpp;") << Line(" }") + << Line(" else if (b)") + << Line(" {") + << Line(" fpp;") + << Line(" }") + << Line(" else") + << Line(" {") + << Line(" }") << Line(" if (b) {") << Line(" fpp;") << Line(" }") -- GitLab