aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/textutils.cpp
diff options
context:
space:
mode:
authorDavid Schulz <[email protected]>2023-05-09 14:44:48 +0200
committerDavid Schulz <[email protected]>2023-05-11 10:46:01 +0000
commite9cd4dd4392a7f82f41d9ca1af7e030b532d756d (patch)
tree767c0f7e97ae328fea387399a19f4f9a87e3a5d8 /src/libs/utils/textutils.cpp
parent5a0f2e6d15123559d0d489b8b466888af28136ef (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.cpp32
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