diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-10-17 09:42:48 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-10-18 09:13:35 +0000 |
commit | 3f613d25a154cd346c5c49b6e09e373a5d16566c (patch) | |
tree | d128cc0377e9baf29847903443c59c1866cb7bb5 /src/libs/utils/textutils.h | |
parent | 4e0f14b8a5495c28cce54ad1b303d4a594eedea2 (diff) |
Clang: Move text cursor utility methods into ClangCodeModel
These 3 are only used in ClangCodeModel.
Change-Id: Id7c2cead40473bcb746e4b105aa36cb7d51a2740
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/libs/utils/textutils.h')
-rw-r--r-- | src/libs/utils/textutils.h | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/src/libs/utils/textutils.h b/src/libs/utils/textutils.h index 8829604c97..cab97cf077 100644 --- a/src/libs/utils/textutils.h +++ b/src/libs/utils/textutils.h @@ -29,7 +29,6 @@ #include "utils_global.h" #include <QString> -#include <QTextCursor> QT_FORWARD_DECLARE_CLASS(QTextDocument) QT_FORWARD_DECLARE_CLASS(QTextCursor) @@ -59,50 +58,5 @@ QTCREATOR_UTILS_EXPORT int utf8NthLineOffset(const QTextDocument *textDocument, const QByteArray &buffer, int line); -template <class CharacterProvider> -void moveToPrevChar(CharacterProvider &provider, QTextCursor &cursor) -{ - cursor.movePosition(QTextCursor::PreviousCharacter); - while (provider.characterAt(cursor.position()).isSpace()) - cursor.movePosition(QTextCursor::PreviousCharacter); -} - -template <class CharacterProvider> -void moveToPrevWord(CharacterProvider &provider, QTextCursor &cursor) -{ - cursor.movePosition(QTextCursor::PreviousWord); - while (provider.characterAt(cursor.position()) == ':') - cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::MoveAnchor, 2); -} - -template <class CharacterProvider> -bool matchPreviousWord(CharacterProvider &provider, QTextCursor cursor, QString pattern) -{ - cursor.movePosition(QTextCursor::PreviousWord); - while (provider.characterAt(cursor.position()) == ':') - cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::MoveAnchor, 2); - - int previousWordStart = cursor.position(); - cursor.movePosition(QTextCursor::NextWord); - moveToPrevChar(provider, cursor); - QString toMatch = provider.textAt(previousWordStart, cursor.position() - previousWordStart + 1); - - pattern = pattern.simplified(); - while (!pattern.isEmpty() && pattern.endsWith(toMatch)) { - pattern.chop(toMatch.length()); - if (pattern.endsWith(' ')) - pattern.chop(1); - if (!pattern.isEmpty()) { - cursor.movePosition(QTextCursor::StartOfWord); - cursor.movePosition(QTextCursor::PreviousWord); - previousWordStart = cursor.position(); - cursor.movePosition(QTextCursor::NextWord); - moveToPrevChar(provider, cursor); - toMatch = provider.textAt(previousWordStart, cursor.position() - previousWordStart + 1); - } - } - return pattern.isEmpty(); -} - } // Text } // Utils |