diff options
Diffstat (limited to 'src/plugins/cpptools/cpptoolsreuse.cpp')
-rw-r--r-- | src/plugins/cpptools/cpptoolsreuse.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cpptoolsreuse.cpp b/src/plugins/cpptools/cpptoolsreuse.cpp index 4b7713cf7e..305e84aded 100644 --- a/src/plugins/cpptools/cpptoolsreuse.cpp +++ b/src/plugins/cpptools/cpptoolsreuse.cpp @@ -45,18 +45,31 @@ using namespace CPlusPlus; namespace CppTools { -void moveCursorToEndOfIdentifier(QTextCursor *tc) { +static void moveCursorToStartOrEndOfIdentifier(QTextCursor *tc, + QTextCursor::MoveOperation op, + int posDiff = 0) +{ QTextDocument *doc = tc->document(); if (!doc) return; - QChar ch = doc->characterAt(tc->position()); + QChar ch = doc->characterAt(tc->position() - posDiff); while (ch.isLetterOrNumber() || ch == QLatin1Char('_')) { - tc->movePosition(QTextCursor::NextCharacter); - ch = doc->characterAt(tc->position()); + tc->movePosition(op); + ch = doc->characterAt(tc->position() - posDiff); } } +void moveCursorToEndOfIdentifier(QTextCursor *tc) +{ + moveCursorToStartOrEndOfIdentifier(tc, QTextCursor::NextCharacter); +} + +void moveCursorToStartOfIdentifier(QTextCursor *tc) +{ + moveCursorToStartOrEndOfIdentifier(tc, QTextCursor::PreviousCharacter, 1); +} + static bool isOwnershipRAIIName(const QString &name) { static QSet<QString> knownNames; |