diff options
Diffstat (limited to 'src/plugins/cpptools/cppcodeformatter.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcodeformatter.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 1c84bae4b8..ac4d94faf9 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -932,7 +932,6 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd case statement_with_condition: case for_statement: case switch_statement: - case declaration_start: case if_statement: case return_statement: if (firstToken) @@ -940,6 +939,19 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd *indentDepth = *savedIndentDepth + 2*m_indentSize; break; + case declaration_start: + if (firstToken) + *savedIndentDepth = tokenPosition; + // continuation indent in function bodies only, to not indent + // after the return type in "void\nfoo() {}" + for (int i = 0; state(i).type != topmost_intro; ++i) { + if (state(i).type == defun_open) { + *indentDepth = *savedIndentDepth + 2*m_indentSize; + break; + } + } + break; + case arglist_open: case condition_paren_open: if (!lastToken) |