From 4a487b1addb1a2be1b66c1b5ccaf3afc45b7f64c Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Mon, 17 Oct 2011 13:56:48 +0200 Subject: [PATCH] QmlJS indenter: Move reusable code to qmljs lib. Change-Id: I5ab50b586109a9736cda48245807571ce10dfb5b Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com> --- src/libs/qmljs/qmljscodeformatter.cpp | 317 +++++++++++++++++ src/libs/qmljs/qmljscodeformatter.h | 15 + src/plugins/qmljseditor/qmljseditor.cpp | 2 +- .../qmljstools/qmljscodestylesettingspage.cpp | 2 +- src/plugins/qmljstools/qmljsindenter.cpp | 4 +- .../qmljstools/qmljsqtstylecodeformatter.cpp | 328 +----------------- .../qmljstools/qmljsqtstylecodeformatter.h | 13 +- .../qmljstools/qmljsrefactoringchanges.cpp | 2 +- .../qmlcodeformatter/tst_qmlcodeformatter.cpp | 2 +- 9 files changed, 348 insertions(+), 337 deletions(-) diff --git a/src/libs/qmljs/qmljscodeformatter.cpp b/src/libs/qmljs/qmljscodeformatter.cpp index d8a4fb1ed18..5bbc32cf4f8 100644 --- a/src/libs/qmljs/qmljscodeformatter.cpp +++ b/src/libs/qmljs/qmljscodeformatter.cpp @@ -989,3 +989,320 @@ void CodeFormatter::dump() const } qDebug() << "Current indent depth:" << m_indentDepth; } + +QtStyleCodeFormatter::QtStyleCodeFormatter() + : m_indentSize(4) +{} + +void QtStyleCodeFormatter::setIndentSize(int size) +{ + m_indentSize = size; +} + +void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedIndentDepth) const +{ + const State &parentState = state(); + const Token &tk = currentToken(); + const int tokenPosition = column(tk.begin()); + const bool firstToken = (tokenIndex() == 0); + const bool lastToken = (tokenIndex() == tokenCount() - 1); + + switch (newState) { + case objectdefinition_open: { + // special case for things like "gradient: Gradient {" + if (parentState.type == binding_assignment) + *savedIndentDepth = state(1).savedIndentDepth; + + if (firstToken) + *savedIndentDepth = tokenPosition; + + *indentDepth = *savedIndentDepth + m_indentSize; + break; + } + + case binding_or_objectdefinition: + if (firstToken) + *indentDepth = *savedIndentDepth = tokenPosition; + break; + + case binding_assignment: + case objectliteral_assignment: + if (lastToken) + *indentDepth = *savedIndentDepth + 4; + else + *indentDepth = column(tokenAt(tokenIndex() + 1).begin()); + break; + + case expression_or_objectdefinition: + *indentDepth = tokenPosition; + break; + + case expression_or_label: + if (*indentDepth == tokenPosition) + *indentDepth += 2*m_indentSize; + else + *indentDepth = tokenPosition; + break; + + case expression: + if (*indentDepth == tokenPosition) { + // expression_or_objectdefinition doesn't want the indent + // expression_or_label already has it + if (parentState.type != expression_or_objectdefinition + && parentState.type != expression_or_label + && parentState.type != binding_assignment) { + *indentDepth += 2*m_indentSize; + } + } + // expression_or_objectdefinition and expression_or_label have already consumed the first token + else if (parentState.type != expression_or_objectdefinition + && parentState.type != expression_or_label) { + *indentDepth = tokenPosition; + } + break; + + case expression_maybe_continuation: + // set indent depth to indent we'd get if the expression ended here + for (int i = 1; state(i).type != topmost_intro; ++i) { + const int type = state(i).type; + if (isExpressionEndState(type) && !isBracelessState(type)) { + *indentDepth = state(i - 1).savedIndentDepth; + break; + } + } + break; + + case bracket_open: + if (parentState.type == expression && state(1).type == binding_assignment) { + *savedIndentDepth = state(2).savedIndentDepth; + *indentDepth = *savedIndentDepth + m_indentSize; + } else if (parentState.type == objectliteral_assignment) { + *savedIndentDepth = parentState.savedIndentDepth; + *indentDepth = *savedIndentDepth + m_indentSize; + } else if (!lastToken) { + *indentDepth = tokenPosition + 1; + } else { + *indentDepth = *savedIndentDepth + m_indentSize; + } + break; + + case function_start: + if (parentState.type == expression) { + // undo the continuation indent of the expression + *indentDepth = parentState.savedIndentDepth; + *savedIndentDepth = *indentDepth; + } + break; + + case do_statement_while_paren_open: + case statement_with_condition_paren_open: + case signal_arglist_open: + case function_arglist_open: + case paren_open: + case condition_paren_open: + if (!lastToken) + *indentDepth = tokenPosition + 1; + else + *indentDepth += m_indentSize; + break; + + case ternary_op: + if (!lastToken) + *indentDepth = tokenPosition + tk.length + 1; + else + *indentDepth += m_indentSize; + break; + + case jsblock_open: + // closing brace should be aligned to case + if (parentState.type == case_cont) { + *savedIndentDepth = parentState.savedIndentDepth; + break; + } + // fallthrough + case substatement_open: + // special case for "foo: {" and "property int foo: {" + if (parentState.type == binding_assignment) + *savedIndentDepth = state(1).savedIndentDepth; + *indentDepth = *savedIndentDepth + m_indentSize; + break; + + case substatement: + *indentDepth += m_indentSize; + break; + + case objectliteral_open: + if (parentState.type == expression + || parentState.type == objectliteral_assignment) { + // undo the continuation indent of the expression + if (state(1).type == expression_or_label) + *indentDepth = state(1).savedIndentDepth; + else + *indentDepth = parentState.savedIndentDepth; + *savedIndentDepth = *indentDepth; + } + *indentDepth += m_indentSize; + break; + + + case statement_with_condition: + case statement_with_block: + case if_statement: + case do_statement: + case switch_statement: + if (firstToken || parentState.type == binding_assignment) + *savedIndentDepth = tokenPosition; + // ### continuation + *indentDepth = *savedIndentDepth; // + 2*m_indentSize; + // special case for 'else if' + if (!firstToken + && newState == if_statement + && parentState.type == substatement + && state(1).type == else_clause) { + *indentDepth = state(1).savedIndentDepth; + *savedIndentDepth = *indentDepth; + } + break; + + case maybe_else: { + // set indent to outermost braceless savedIndent + int outermostBraceless = 0; + while (isBracelessState(state(outermostBraceless + 1).type)) + ++outermostBraceless; + *indentDepth = state(outermostBraceless).savedIndentDepth; + // this is where the else should go, if one appears - aligned to if_statement + *savedIndentDepth = state().savedIndentDepth; + break; + } + + case condition_open: + // fixed extra indent when continuing 'if (', but not for 'else if (' + if (tokenPosition <= *indentDepth + m_indentSize) + *indentDepth += 2*m_indentSize; + else + *indentDepth = tokenPosition + 1; + break; + + case case_start: + *savedIndentDepth = tokenPosition; + break; + + case case_cont: + *indentDepth += m_indentSize; + break; + + case multiline_comment_start: + *indentDepth = tokenPosition + 2; + break; + + case multiline_comment_cont: + *indentDepth = tokenPosition; + break; + } +} + +void QtStyleCodeFormatter::adjustIndent(const QList<Token> &tokens, int lexerState, int *indentDepth) const +{ + Q_UNUSED(lexerState) + + State topState = state(); + State previousState = state(1); + + // keep user-adjusted indent in multiline comments + if (topState.type == multiline_comment_start + || topState.type == multiline_comment_cont) { + if (!tokens.isEmpty()) { + *indentDepth = column(tokens.at(0).begin()); + return; + } + } + + const int kind = extendedTokenKind(tokenAt(0)); + switch (kind) { + case LeftBrace: + if (topState.type == substatement + || topState.type == binding_assignment + || topState.type == case_cont) { + *indentDepth = topState.savedIndentDepth; + } + break; + case RightBrace: { + if (topState.type == jsblock_open && previousState.type == case_cont) { + *indentDepth = previousState.savedIndentDepth; + break; + } + for (int i = 0; state(i).type != topmost_intro; ++i) { + const int type = state(i).type; + if (type == objectdefinition_open + || type == jsblock_open + || type == substatement_open + || type == objectliteral_open) { + *indentDepth = state(i).savedIndentDepth; + break; + } + } + break; + } + case RightBracket: + for (int i = 0; state(i).type != topmost_intro; ++i) { + const int type = state(i).type; + if (type == bracket_open) { + *indentDepth = state(i).savedIndentDepth; + break; + } + } + break; + + case LeftBracket: + case LeftParenthesis: + case Delimiter: + if (topState.type == expression_maybe_continuation) + *indentDepth = topState.savedIndentDepth; + break; + + case Else: + if (topState.type == maybe_else) { + *indentDepth = topState.savedIndentDepth; + } else if (topState.type == expression_maybe_continuation) { + bool hasElse = false; + for (int i = 1; state(i).type != topmost_intro; ++i) { + const int type = state(i).type; + if (type == else_clause) + hasElse = true; + if (type == if_statement) { + if (hasElse) { + hasElse = false; + } else { + *indentDepth = state(i).savedIndentDepth; + break; + } + } + } + } + break; + + case Colon: + if (topState.type == ternary_op) { + *indentDepth -= 2; + } + break; + + case Question: + if (topState.type == expression_maybe_continuation) + *indentDepth = topState.savedIndentDepth; + break; + + case Default: + case Case: + for (int i = 0; state(i).type != topmost_intro; ++i) { + const int type = state(i).type; + if (type == switch_statement || type == case_cont) { + *indentDepth = state(i).savedIndentDepth; + break; + } else if (type == topmost_intro) { + break; + } + } + break; + } +} diff --git a/src/libs/qmljs/qmljscodeformatter.h b/src/libs/qmljs/qmljscodeformatter.h index 7af62d5485f..7b5865f0e8f 100644 --- a/src/libs/qmljs/qmljscodeformatter.h +++ b/src/libs/qmljs/qmljscodeformatter.h @@ -315,6 +315,21 @@ private: int m_tabSize; }; +class QMLJS_EXPORT QtStyleCodeFormatter : public CodeFormatter +{ +public: + QtStyleCodeFormatter(); + + void setIndentSize(int size); + +protected: + virtual void onEnter(int newState, int *indentDepth, int *savedIndentDepth) const; + virtual void adjustIndent(const QList<QmlJS::Token> &tokens, int lexerState, int *indentDepth) const; + +private: + int m_indentSize; +}; + } // namespace QmlJS #endif // QMLJSCODEFORMATTER_H diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 20249d7ebf7..b0d481db5b4 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -1486,7 +1486,7 @@ void QmlJSTextEditorWidget::unCommentSelection() void QmlJSTextEditorWidget::setTabSettings(const TextEditor::TabSettings &ts) { - QmlJSTools::QtStyleCodeFormatter formatter(ts); + QmlJSTools::CreatorCodeFormatter formatter(ts); formatter.invalidateCache(document()); TextEditor::BaseTextEditorWidget::setTabSettings(ts); diff --git a/src/plugins/qmljstools/qmljscodestylesettingspage.cpp b/src/plugins/qmljstools/qmljscodestylesettingspage.cpp index 25d1c92f6d9..e4c05dccbc6 100644 --- a/src/plugins/qmljstools/qmljscodestylesettingspage.cpp +++ b/src/plugins/qmljstools/qmljscodestylesettingspage.cpp @@ -148,7 +148,7 @@ void QmlJSCodeStylePreferencesWidget::updatePreview() ? m_preferences->currentTabSettings() : TextEditorSettings::instance()->codeStyle()->tabSettings(); m_ui->previewTextEdit->setTabSettings(ts); - QtStyleCodeFormatter formatter(ts); + CreatorCodeFormatter formatter(ts); formatter.invalidateCache(doc); QTextBlock block = doc->firstBlock(); diff --git a/src/plugins/qmljstools/qmljsindenter.cpp b/src/plugins/qmljstools/qmljsindenter.cpp index 13ffc9621ae..3c08e614905 100644 --- a/src/plugins/qmljstools/qmljsindenter.cpp +++ b/src/plugins/qmljstools/qmljsindenter.cpp @@ -66,7 +66,7 @@ void Indenter::indentBlock(QTextDocument *doc, { Q_UNUSED(doc) - QmlJSTools::QtStyleCodeFormatter codeFormatter(tabSettings); + QmlJSTools::CreatorCodeFormatter codeFormatter(tabSettings); codeFormatter.updateStateUntil(block); const int depth = codeFormatter.indentFor(block); @@ -84,6 +84,6 @@ void Indenter::indentBlock(QTextDocument *doc, void Indenter::invalidateCache(QTextDocument *doc) { - QmlJSTools::QtStyleCodeFormatter codeFormatter; + QmlJSTools::CreatorCodeFormatter codeFormatter; codeFormatter.invalidateCache(doc); } diff --git a/src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp b/src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp index 3961c880464..1e589afe81e 100644 --- a/src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp +++ b/src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp @@ -40,23 +40,17 @@ using namespace QmlJS; using namespace QmlJSTools; using namespace TextEditor; -QtStyleCodeFormatter::QtStyleCodeFormatter() - : m_indentSize(4) +CreatorCodeFormatter::CreatorCodeFormatter() { } -QtStyleCodeFormatter::QtStyleCodeFormatter(const TextEditor::TabSettings &tabSettings) - : m_indentSize(tabSettings.m_indentSize) +CreatorCodeFormatter::CreatorCodeFormatter(const TextEditor::TabSettings &tabSettings) { setTabSize(tabSettings.m_tabSize); + setIndentSize(tabSettings.m_indentSize); } -void QtStyleCodeFormatter::setIndentSize(int size) -{ - m_indentSize = size; -} - -void QtStyleCodeFormatter::saveBlockData(QTextBlock *block, const BlockData &data) const +void CreatorCodeFormatter::saveBlockData(QTextBlock *block, const BlockData &data) const { TextBlockUserData *userData = BaseTextDocumentLayout::userData(*block); QmlJSCodeFormatterData *cppData = static_cast<QmlJSCodeFormatterData *>(userData->codeFormatterData()); @@ -67,7 +61,7 @@ void QtStyleCodeFormatter::saveBlockData(QTextBlock *block, const BlockData &dat cppData->m_data = data; } -bool QtStyleCodeFormatter::loadBlockData(const QTextBlock &block, BlockData *data) const +bool CreatorCodeFormatter::loadBlockData(const QTextBlock &block, BlockData *data) const { TextBlockUserData *userData = BaseTextDocumentLayout::testUserData(block); if (!userData) @@ -80,320 +74,12 @@ bool QtStyleCodeFormatter::loadBlockData(const QTextBlock &block, BlockData *dat return true; } -void QtStyleCodeFormatter::saveLexerState(QTextBlock *block, int state) const +void CreatorCodeFormatter::saveLexerState(QTextBlock *block, int state) const { BaseTextDocumentLayout::setLexerState(*block, state); } -int QtStyleCodeFormatter::loadLexerState(const QTextBlock &block) const +int CreatorCodeFormatter::loadLexerState(const QTextBlock &block) const { return BaseTextDocumentLayout::lexerState(block); } - -void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedIndentDepth) const -{ - const State &parentState = state(); - const Token &tk = currentToken(); - const int tokenPosition = column(tk.begin()); - const bool firstToken = (tokenIndex() == 0); - const bool lastToken = (tokenIndex() == tokenCount() - 1); - - switch (newState) { - case objectdefinition_open: { - // special case for things like "gradient: Gradient {" - if (parentState.type == binding_assignment) - *savedIndentDepth = state(1).savedIndentDepth; - - if (firstToken) - *savedIndentDepth = tokenPosition; - - *indentDepth = *savedIndentDepth + m_indentSize; - break; - } - - case binding_or_objectdefinition: - if (firstToken) - *indentDepth = *savedIndentDepth = tokenPosition; - break; - - case binding_assignment: - case objectliteral_assignment: - if (lastToken) - *indentDepth = *savedIndentDepth + 4; - else - *indentDepth = column(tokenAt(tokenIndex() + 1).begin()); - break; - - case expression_or_objectdefinition: - *indentDepth = tokenPosition; - break; - - case expression_or_label: - if (*indentDepth == tokenPosition) - *indentDepth += 2*m_indentSize; - else - *indentDepth = tokenPosition; - break; - - case expression: - if (*indentDepth == tokenPosition) { - // expression_or_objectdefinition doesn't want the indent - // expression_or_label already has it - if (parentState.type != expression_or_objectdefinition - && parentState.type != expression_or_label - && parentState.type != binding_assignment) { - *indentDepth += 2*m_indentSize; - } - } - // expression_or_objectdefinition and expression_or_label have already consumed the first token - else if (parentState.type != expression_or_objectdefinition - && parentState.type != expression_or_label) { - *indentDepth = tokenPosition; - } - break; - - case expression_maybe_continuation: - // set indent depth to indent we'd get if the expression ended here - for (int i = 1; state(i).type != topmost_intro; ++i) { - const int type = state(i).type; - if (isExpressionEndState(type) && !isBracelessState(type)) { - *indentDepth = state(i - 1).savedIndentDepth; - break; - } - } - break; - - case bracket_open: - if (parentState.type == expression && state(1).type == binding_assignment) { - *savedIndentDepth = state(2).savedIndentDepth; - *indentDepth = *savedIndentDepth + m_indentSize; - } else if (parentState.type == objectliteral_assignment) { - *savedIndentDepth = parentState.savedIndentDepth; - *indentDepth = *savedIndentDepth + m_indentSize; - } else if (!lastToken) { - *indentDepth = tokenPosition + 1; - } else { - *indentDepth = *savedIndentDepth + m_indentSize; - } - break; - - case function_start: - if (parentState.type == expression) { - // undo the continuation indent of the expression - *indentDepth = parentState.savedIndentDepth; - *savedIndentDepth = *indentDepth; - } - break; - - case do_statement_while_paren_open: - case statement_with_condition_paren_open: - case signal_arglist_open: - case function_arglist_open: - case paren_open: - case condition_paren_open: - if (!lastToken) - *indentDepth = tokenPosition + 1; - else - *indentDepth += m_indentSize; - break; - - case ternary_op: - if (!lastToken) - *indentDepth = tokenPosition + tk.length + 1; - else - *indentDepth += m_indentSize; - break; - - case jsblock_open: - // closing brace should be aligned to case - if (parentState.type == case_cont) { - *savedIndentDepth = parentState.savedIndentDepth; - break; - } - // fallthrough - case substatement_open: - // special case for "foo: {" and "property int foo: {" - if (parentState.type == binding_assignment) - *savedIndentDepth = state(1).savedIndentDepth; - *indentDepth = *savedIndentDepth + m_indentSize; - break; - - case substatement: - *indentDepth += m_indentSize; - break; - - case objectliteral_open: - if (parentState.type == expression - || parentState.type == objectliteral_assignment) { - // undo the continuation indent of the expression - if (state(1).type == expression_or_label) - *indentDepth = state(1).savedIndentDepth; - else - *indentDepth = parentState.savedIndentDepth; - *savedIndentDepth = *indentDepth; - } - *indentDepth += m_indentSize; - break; - - - case statement_with_condition: - case statement_with_block: - case if_statement: - case do_statement: - case switch_statement: - if (firstToken || parentState.type == binding_assignment) - *savedIndentDepth = tokenPosition; - // ### continuation - *indentDepth = *savedIndentDepth; // + 2*m_indentSize; - // special case for 'else if' - if (!firstToken - && newState == if_statement - && parentState.type == substatement - && state(1).type == else_clause) { - *indentDepth = state(1).savedIndentDepth; - *savedIndentDepth = *indentDepth; - } - break; - - case maybe_else: { - // set indent to outermost braceless savedIndent - int outermostBraceless = 0; - while (isBracelessState(state(outermostBraceless + 1).type)) - ++outermostBraceless; - *indentDepth = state(outermostBraceless).savedIndentDepth; - // this is where the else should go, if one appears - aligned to if_statement - *savedIndentDepth = state().savedIndentDepth; - break; - } - - case condition_open: - // fixed extra indent when continuing 'if (', but not for 'else if (' - if (tokenPosition <= *indentDepth + m_indentSize) - *indentDepth += 2*m_indentSize; - else - *indentDepth = tokenPosition + 1; - break; - - case case_start: - *savedIndentDepth = tokenPosition; - break; - - case case_cont: - *indentDepth += m_indentSize; - break; - - case multiline_comment_start: - *indentDepth = tokenPosition + 2; - break; - - case multiline_comment_cont: - *indentDepth = tokenPosition; - break; - } -} - -void QtStyleCodeFormatter::adjustIndent(const QList<Token> &tokens, int lexerState, int *indentDepth) const -{ - Q_UNUSED(lexerState) - - State topState = state(); - State previousState = state(1); - - // keep user-adjusted indent in multiline comments - if (topState.type == multiline_comment_start - || topState.type == multiline_comment_cont) { - if (!tokens.isEmpty()) { - *indentDepth = column(tokens.at(0).begin()); - return; - } - } - - const int kind = extendedTokenKind(tokenAt(0)); - switch (kind) { - case LeftBrace: - if (topState.type == substatement - || topState.type == binding_assignment - || topState.type == case_cont) { - *indentDepth = topState.savedIndentDepth; - } - break; - case RightBrace: { - if (topState.type == jsblock_open && previousState.type == case_cont) { - *indentDepth = previousState.savedIndentDepth; - break; - } - for (int i = 0; state(i).type != topmost_intro; ++i) { - const int type = state(i).type; - if (type == objectdefinition_open - || type == jsblock_open - || type == substatement_open - || type == objectliteral_open) { - *indentDepth = state(i).savedIndentDepth; - break; - } - } - break; - } - case RightBracket: - for (int i = 0; state(i).type != topmost_intro; ++i) { - const int type = state(i).type; - if (type == bracket_open) { - *indentDepth = state(i).savedIndentDepth; - break; - } - } - break; - - case LeftBracket: - case LeftParenthesis: - case Delimiter: - if (topState.type == expression_maybe_continuation) - *indentDepth = topState.savedIndentDepth; - break; - - case Else: - if (topState.type == maybe_else) { - *indentDepth = topState.savedIndentDepth; - } else if (topState.type == expression_maybe_continuation) { - bool hasElse = false; - for (int i = 1; state(i).type != topmost_intro; ++i) { - const int type = state(i).type; - if (type == else_clause) - hasElse = true; - if (type == if_statement) { - if (hasElse) { - hasElse = false; - } else { - *indentDepth = state(i).savedIndentDepth; - break; - } - } - } - } - break; - - case Colon: - if (topState.type == ternary_op) { - *indentDepth -= 2; - } - break; - - case Question: - if (topState.type == expression_maybe_continuation) - *indentDepth = topState.savedIndentDepth; - break; - - case Default: - case Case: - for (int i = 0; state(i).type != topmost_intro; ++i) { - const int type = state(i).type; - if (type == switch_statement || type == case_cont) { - *indentDepth = state(i).savedIndentDepth; - break; - } else if (type == topmost_intro) { - break; - } - } - break; - } -} diff --git a/src/plugins/qmljstools/qmljsqtstylecodeformatter.h b/src/plugins/qmljstools/qmljsqtstylecodeformatter.h index 9668c498c9a..f48ec9754b7 100644 --- a/src/plugins/qmljstools/qmljsqtstylecodeformatter.h +++ b/src/plugins/qmljstools/qmljsqtstylecodeformatter.h @@ -44,18 +44,13 @@ namespace TextEditor { namespace QmlJSTools { -class QMLJSTOOLS_EXPORT QtStyleCodeFormatter : public QmlJS::CodeFormatter +class QMLJSTOOLS_EXPORT CreatorCodeFormatter : public QmlJS::QtStyleCodeFormatter { public: - QtStyleCodeFormatter(); - explicit QtStyleCodeFormatter(const TextEditor::TabSettings &tabSettings); - - void setIndentSize(int size); + CreatorCodeFormatter(); + explicit CreatorCodeFormatter(const TextEditor::TabSettings &tabSettings); protected: - virtual void onEnter(int newState, int *indentDepth, int *savedIndentDepth) const; - virtual void adjustIndent(const QList<QmlJS::Token> &tokens, int lexerState, int *indentDepth) const; - virtual void saveBlockData(QTextBlock *block, const BlockData &data) const; virtual bool loadBlockData(const QTextBlock &block, BlockData *data) const; @@ -63,8 +58,6 @@ protected: virtual int loadLexerState(const QTextBlock &block) const; private: - int m_indentSize; - class QmlJSCodeFormatterData: public TextEditor::CodeFormatterData { public: diff --git a/src/plugins/qmljstools/qmljsrefactoringchanges.cpp b/src/plugins/qmljstools/qmljsrefactoringchanges.cpp index 56b9d8486bf..cc89dd521db 100644 --- a/src/plugins/qmljstools/qmljsrefactoringchanges.cpp +++ b/src/plugins/qmljstools/qmljsrefactoringchanges.cpp @@ -65,7 +65,7 @@ public: const TextEditor::TabSettings &tabSettings = ProjectExplorer::actualTabSettings(fileName, textEditor); - QtStyleCodeFormatter codeFormatter(tabSettings); + CreatorCodeFormatter codeFormatter(tabSettings); codeFormatter.updateStateUntil(block); do { diff --git a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp index acfa4608b0c..6b8a86fb34c 100644 --- a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp +++ b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp @@ -135,7 +135,7 @@ void checkIndent(QList<Line> data, int style = 0) QString text = concatLines(data); QTextDocument document(text); - QtStyleCodeFormatter formatter; + CreatorCodeFormatter formatter; int i = 0; foreach (const Line &l, data) { -- GitLab