aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/textutils.cpp
diff options
context:
space:
mode:
authorMarcus Tillmanns <[email protected]>2024-10-10 09:37:52 +0200
committerMarcus Tillmanns <[email protected]>2024-10-10 08:05:01 +0000
commit0de26bd687cf18f90c2632fa4c2009e45fe4755b (patch)
treed457a50298b434776fecff30ce51ca08eae1f773 /src/libs/utils/textutils.cpp
parent5f241295c6eb53a866de655dc8a76710d55ee07c (diff)
Utils: Move highlight function to textutils
Diffstat (limited to 'src/libs/utils/textutils.cpp')
-rw-r--r--src/libs/utils/textutils.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/libs/utils/textutils.cpp b/src/libs/utils/textutils.cpp
index 15d17554b08..c3b2822ae3e 100644
--- a/src/libs/utils/textutils.cpp
+++ b/src/libs/utils/textutils.cpp
@@ -293,4 +293,25 @@ QDebug &operator<<(QDebug &stream, const Position &pos)
return stream;
}
+static HighlightCallback &codeHighlighter()
+{
+ static HighlightCallback s_highlighter;
+ return s_highlighter;
+}
+
+QTextDocument *highlightCode(const QString &code, const QString &mimeType)
+{
+ if (const auto highlighter = codeHighlighter())
+ return highlighter(code, mimeType);
+
+ QTextDocument *doc = new QTextDocument;
+ doc->setPlainText(code);
+ return doc;
+}
+
+void setCodeHighlighter(const HighlightCallback &highlighter)
+{
+ codeHighlighter() = highlighter;
+}
+
} // namespace Utils::Text