MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / AsmHighlighter

Method AsmHighlighter

gui/qt/datawidget.cpp:130–176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128}
129
130AsmHighlighter::AsmHighlighter(QTextDocument *parent) : QSyntaxHighlighter(parent) {
131 HighlightingRule rule;
132 bool darkMode = isRunningInDarkMode();
133
134 addressFormat.setForeground(QColor(darkMode ? "#888" : "#444"));
135 addressFormat.setFontWeight(QFont::Bold);
136
137 watchRFormat.setForeground(QColor("#008000"));
138 watchRFormat.setFontWeight(QFont::Bold);
139 watchWFormat.setForeground(QColor("#808000"));
140 watchWFormat.setFontWeight(QFont::Bold);
141 breakPFormat.setForeground(QColor("#800000"));
142 breakPFormat.setFontWeight(QFont::Bold);
143
144 mnemonicFormat.setForeground(QColor(darkMode ? "darkorange" : "darkblue"));
145
146 symbolFormat.setFontWeight(disasm.bold_sym ? QFont::DemiBold : QFont::Normal);
147 rule.pattern = QRegularExpression("\\b\\w+\\b");
148 rule.format = symbolFormat;
149 highlightingRules.append(rule);
150
151 decimalFormat.setForeground(QColor(darkMode ? "lime" : "green"));
152 rule.pattern = QRegularExpression("\\b\\d+\\b");
153 rule.format = decimalFormat;
154 highlightingRules.append(rule);
155
156 registerFormat.setForeground(QColor(darkMode ? "magenta" : "purple"));
157 rule.pattern = QRegularExpression("\\b([abcdehlirmpz]|af|bc|de|hl|sp|i[xy][hl]?|mb|n[cz]|p[eo])\\b", QRegularExpression::CaseInsensitiveOption);
158 rule.format = registerFormat;
159 highlightingRules.append(rule);
160
161 hexFormat.setForeground(QColor(darkMode ? "lime" : "green"));
162 rule.pattern = QRegularExpression("\\$[0-9a-fA-F]+\\b");
163 rule.format = hexFormat;
164 highlightingRules.append(rule);
165
166 parenFormat.setForeground(QColor(darkMode ? "lightblue" : "navy"));
167 rule.pattern = QRegularExpression("[()]");
168 rule.format = parenFormat;
169 highlightingRules.append(rule);
170
171 labelPattern = QRegularExpression(QStringLiteral("^(%1)\\s+(\\S+):")
172 .arg(disasm.addr ? QStringLiteral("[0-9a-fA-F]+") : QString()));
173 instructionPattern = QRegularExpression(QStringLiteral("^(%1) ([ R])([ W])([ X])\\s+(%2)\\s+(\\S+)")
174 .arg(disasm.addr ? QStringLiteral("[0-9a-fA-F]+") : QString(),
175 disasm.bytes ? QStringLiteral("[0-9a-fA-F]+") : QStringLiteral(" ")));
176}
177
178void AsmHighlighter::highlightBlock(const QString &text) {
179 QRegularExpressionMatch match;

Callers

nothing calls this directly

Calls 2

isRunningInDarkModeFunction · 0.85
QStringClass · 0.85

Tested by

no test coverage detected