aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/semantichighlighter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/texteditor/semantichighlighter.h')
-rw-r--r--src/plugins/texteditor/semantichighlighter.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/texteditor/semantichighlighter.h b/src/plugins/texteditor/semantichighlighter.h
index 330f9c8f05..35573261c2 100644
--- a/src/plugins/texteditor/semantichighlighter.h
+++ b/src/plugins/texteditor/semantichighlighter.h
@@ -33,6 +33,13 @@
#include <QFuture>
#include <QTextCharFormat>
+#include <functional>
+#include <utility>
+
+QT_BEGIN_NAMESPACE
+class QTextBlock;
+QT_END_NAMESPACE
+
namespace TextEditor {
class SyntaxHighlighter;
@@ -76,6 +83,9 @@ using HighlightingResults = QList<HighlightingResult>;
namespace SemanticHighlighter {
+using Splitter = std::function<const QList<std::pair<HighlightingResult, QTextBlock>>
+ (const HighlightingResult &, const QTextBlock &)>;
+
// Applies the future results [from, to) and applies the extra formats
// indicated by Result::kind and kindToFormat to the correct location using
// SyntaxHighlighter::setExtraAdditionalFormats.
@@ -87,7 +97,8 @@ void TEXTEDITOR_EXPORT incrementalApplyExtraAdditionalFormats(
SyntaxHighlighter *highlighter,
const QFuture<HighlightingResult> &future,
int from, int to,
- const QHash<int, QTextCharFormat> &kindToFormat);
+ const QHash<int, QTextCharFormat> &kindToFormat,
+ const Splitter &splitter = {});
// Clears all extra highlights and applies the extra formats
// indicated by Result::kind and kindToFormat to the correct location using