-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhighlighter.cpp
More file actions
91 lines (74 loc) · 3.36 KB
/
Copy pathhighlighter.cpp
File metadata and controls
91 lines (74 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// #include "highlighter.h"
// Highlighter::Highlighter(QTextDocument *parent)
// : QSyntaxHighlighter(parent)
// {
// HighlightingRule rule;
// keywordFormat.setForeground(Qt::darkBlue);
// keywordFormat.setFontWeight(QFont::Bold);
// QStringList keywordPatterns;
// keywordPatterns << "\\bchar\\b" << "\\bclass\\b" << "\\bconst\\b"
// << "\\bdouble\\b" << "\\benum\\b" << "\\bexplicit\\b"
// << "\\bfriend\\b" << "\\binline\\b" << "\\bint\\b"
// << "\\blong\\b" << "\\bnamespace\\b" << "\\boperator\\b"
// << "\\bprivate\\b" << "\\bprotected\\b" << "\\bpublic\\b"
// << "\\bshort\\b" << "\\bsignals\\b" << "\\bsigned\\b"
// << "\\bslots\\b" << "\\bstatic\\b" << "\\bstruct\\b"
// << "\\btemplate\\b" << "\\btypedef\\b" << "\\btypename\\b"
// << "\\bunion\\b" << "\\bunsigned\\b" << "\\bvirtual\\b"
// << "\\bvoid\\b" << "\\bvolatile\\b" << "\\binclude\\b";
// foreach (const QString &pattern, keywordPatterns) {
// rule.pattern = QRegExp(pattern);
// rule.format = keywordFormat;
// highlightingRules.append(rule);
// }
// classFormat.setFontWeight(QFont::Bold);
// classFormat.setForeground(Qt::darkMagenta);
// rule.pattern = QRegExp("\\bQ[A-Za-z]+\\b");
// rule.format = classFormat;
// highlightingRules.append(rule);
// singleLineCommentFormat.setForeground(Qt::gray);
// rule.pattern = QRegExp("//[^\n]*");
// rule.format = singleLineCommentFormat;
// highlightingRules.append(rule);
// multiLineCommentFormat.setForeground(Qt::gray);
// quotationFormat.setForeground(Qt::darkGreen);
// rule.pattern = QRegExp("\".*\"");
// rule.format = quotationFormat;
// highlightingRules.append(rule);
// functionFormat.setFontItalic(true);
// functionFormat.setForeground(Qt::blue);
// rule.pattern = QRegExp("\\b[A-Za-z0-9_]+(?=\\()");
// rule.format = functionFormat;
// highlightingRules.append(rule);
// commentStartExpression = QRegExp("/\\*");
// commentEndExpression = QRegExp("\\*/");
// }
// void Highlighter::highlightBlock(const QString &text)
// {
// foreach (const HighlightingRule &rule, highlightingRules) {
// QRegExp expression(rule.pattern);
// int index = expression.indexIn(text);
// while (index >= 0) {
// int length = expression.matchedLength();
// setFormat(index, length, rule.format);
// index = expression.indexIn(text, index + length);
// }
// }
// setCurrentBlockState(0);
// int startIndex = 0;
// if (previousBlockState() != 1)
// startIndex = commentStartExpression.indexIn(text);
// while (startIndex >= 0) {
// int endIndex = commentEndExpression.indexIn(text, startIndex);
// int commentLength;
// if (endIndex == -1) {
// setCurrentBlockState(1);
// commentLength = text.length() - startIndex;
// } else {
// commentLength = endIndex - startIndex
// + commentEndExpression.matchedLength();
// }
// setFormat(startIndex, commentLength, multiLineCommentFormat);
// startIndex = commentStartExpression.indexIn(text, startIndex + commentLength);
// }
// }