diff options
author | David Schulz <[email protected]> | 2023-05-09 14:44:48 +0200 |
---|---|---|
committer | David Schulz <[email protected]> | 2023-05-11 10:46:01 +0000 |
commit | e9cd4dd4392a7f82f41d9ca1af7e030b532d756d (patch) | |
tree | 767c0f7e97ae328fea387399a19f4f9a87e3a5d8 /src/libs/utils/textutils.cpp | |
parent | 5a0f2e6d15123559d0d489b8b466888af28136ef (diff) |
Utils: use Text::Position instead of LineColumn in textutils
Change-Id: I606b0b4f8106bdb2f97383d6c81ac065e7e61858
Reviewed-by: Jarek Kobus <[email protected]>
Diffstat (limited to 'src/libs/utils/textutils.cpp')
-rw-r--r-- | src/libs/utils/textutils.cpp | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/src/libs/utils/textutils.cpp b/src/libs/utils/textutils.cpp index 5c9846a24d6..34dbb5e1fa5 100644 --- a/src/libs/utils/textutils.cpp +++ b/src/libs/utils/textutils.cpp @@ -47,6 +47,15 @@ Position Position::fromFileName(QStringView fileName, int &postfixPos) return pos; } +Position Position::fromPositionInDocument(const QTextDocument *document, int pos) +{ + const QTextBlock block = document->findBlock(pos); + if (block.isValid()) + return {block.blockNumber() + 1, pos - block.position()}; + + return {}; +} + int Range::length(const QString &text) const { if (begin.line == end.line) @@ -87,15 +96,6 @@ bool convertPosition(const QTextDocument *document, int pos, int *line, int *col } } -LineColumn convertPosition(const QTextDocument *document, int pos) -{ - const QTextBlock block = document->findBlock(pos); - if (block.isValid()) - return {block.blockNumber() + 1, pos - block.position()}; - - return {}; -} - int positionInText(const QTextDocument *textDocument, int line, int column) { // Deduct 1 from line and column since they are 1-based. @@ -201,20 +201,6 @@ int utf8NthLineOffset(const QTextDocument *textDocument, const QByteArray &buffe return utf8Offset; } -LineColumn utf16LineColumn(const QByteArray &utf8Buffer, int utf8Offset) -{ - LineColumn lineColumn; - lineColumn.line = static_cast<int>( - std::count(utf8Buffer.begin(), utf8Buffer.begin() + utf8Offset, '\n')) - + 1; - const int startOfLineOffset = utf8Offset ? (utf8Buffer.lastIndexOf('\n', utf8Offset - 1) + 1) - : 0; - lineColumn.column = QString::fromUtf8( - utf8Buffer.mid(startOfLineOffset, utf8Offset - startOfLineOffset)) - .length(); - return lineColumn; -} - QString utf16LineTextInUtf8Buffer(const QByteArray &utf8Buffer, int currentUtf8Offset) { const int lineStartUtf8Offset = currentUtf8Offset |