summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2019-01-28 08:11:20 +0100
committerIvan Donchevskii <ivan.donchevskii@qt.io>2019-01-31 10:25:18 +0000
commit1dee275f58e9f9df2e2719325157cfdec42fe1cf (patch)
treeb5d3480d9484a9d0347de6d3d8219f31d70b602e /src/plugins/cpptools
parent80fb0178fdd9ee82acfb22aa512c7514868e89d1 (diff)
downloadqt-creator-1dee275f58e9f9df2e2719325157cfdec42fe1cf.tar.gz
ClangFormat: Add cursor position to the indenter interface
Sometimes it's imnportant where the cursor currently is to properly format the code without affecting the current line. Change-Id: I8b1fb11d2303adb5f960c7cb80a0ed2e6e45010f Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r--src/plugins/cpptools/cppqtstyleindenter.cpp13
-rw-r--r--src/plugins/cpptools/cppqtstyleindenter.h15
2 files changed, 19 insertions, 9 deletions
diff --git a/src/plugins/cpptools/cppqtstyleindenter.cpp b/src/plugins/cpptools/cppqtstyleindenter.cpp
index 97ffd666e3..fe9b17828e 100644
--- a/src/plugins/cpptools/cppqtstyleindenter.cpp
+++ b/src/plugins/cpptools/cppqtstyleindenter.cpp
@@ -93,7 +93,8 @@ static bool isElectricInLine(const QChar ch, const QString &text)
void CppQtStyleIndenter::indentBlock(const QTextBlock &block,
const QChar &typedChar,
- const TextEditor::TabSettings &tabSettings)
+ const TextEditor::TabSettings &tabSettings,
+ int /*cursorPositionInEditor*/)
{
QtStyleCodeFormatter codeFormatter(tabSettings, codeStyleSettings());
@@ -121,7 +122,8 @@ void CppQtStyleIndenter::indentBlock(const QTextBlock &block,
void CppQtStyleIndenter::indent(const QTextCursor &cursor,
const QChar &typedChar,
- const TextEditor::TabSettings &tabSettings)
+ const TextEditor::TabSettings &tabSettings,
+ int /*cursorPositionInEditor*/)
{
if (cursor.hasSelection()) {
QTextBlock block = m_doc->findBlock(cursor.selectionStart());
@@ -160,7 +162,8 @@ void CppQtStyleIndenter::invalidateCache()
}
int CppQtStyleIndenter::indentFor(const QTextBlock &block,
- const TextEditor::TabSettings &tabSettings)
+ const TextEditor::TabSettings &tabSettings,
+ int /*cursorPositionInEditor*/)
{
QtStyleCodeFormatter codeFormatter(tabSettings, codeStyleSettings());
@@ -180,7 +183,9 @@ CppCodeStyleSettings CppQtStyleIndenter::codeStyleSettings() const
}
TextEditor::IndentationForBlock CppQtStyleIndenter::indentationForBlocks(
- const QVector<QTextBlock> &blocks, const TextEditor::TabSettings &tabSettings)
+ const QVector<QTextBlock> &blocks,
+ const TextEditor::TabSettings &tabSettings,
+ int /*cursorPositionInEditor*/)
{
QtStyleCodeFormatter codeFormatter(tabSettings, codeStyleSettings());
diff --git a/src/plugins/cpptools/cppqtstyleindenter.h b/src/plugins/cpptools/cppqtstyleindenter.h
index 3b8fb07168..c8335d9893 100644
--- a/src/plugins/cpptools/cppqtstyleindenter.h
+++ b/src/plugins/cpptools/cppqtstyleindenter.h
@@ -46,17 +46,22 @@ public:
bool isElectricCharacter(const QChar &ch) const override;
void indentBlock(const QTextBlock &block,
const QChar &typedChar,
- const TextEditor::TabSettings &tabSettings) override;
+ const TextEditor::TabSettings &tabSettings,
+ int cursorPositionInEditor = -1) override;
void indent(const QTextCursor &cursor,
const QChar &typedChar,
- const TextEditor::TabSettings &tabSettings) override;
+ const TextEditor::TabSettings &tabSettings,
+ int cursorPositionInEditor = -1) override;
void setCodeStylePreferences(TextEditor::ICodeStylePreferences *preferences) override;
void invalidateCache() override;
- int indentFor(const QTextBlock &block, const TextEditor::TabSettings &tabSettings) override;
- TextEditor::IndentationForBlock indentationForBlocks(
- const QVector<QTextBlock> &blocks, const TextEditor::TabSettings &tabSettings) override;
+ int indentFor(const QTextBlock &block,
+ const TextEditor::TabSettings &tabSettings,
+ int cursorPositionInEditor = -1) override;
+ TextEditor::IndentationForBlock indentationForBlocks(const QVector<QTextBlock> &blocks,
+ const TextEditor::TabSettings &tabSettings,
+ int cursorPositionInEditor = -1) override;
private:
CppCodeStyleSettings codeStyleSettings() const;