+17
-2
@@ -78,6 +78,7 @@ JSHighlighter::JSHighlighter(QTextDocument *parent)
|
|||||||
m_keywords << "break";
|
m_keywords << "break";
|
||||||
m_keywords << "case";
|
m_keywords << "case";
|
||||||
m_keywords << "catch";
|
m_keywords << "catch";
|
||||||
|
m_keywords << "const";
|
||||||
m_keywords << "continue";
|
m_keywords << "continue";
|
||||||
m_keywords << "default";
|
m_keywords << "default";
|
||||||
m_keywords << "delete";
|
m_keywords << "delete";
|
||||||
@@ -89,6 +90,7 @@ JSHighlighter::JSHighlighter(QTextDocument *parent)
|
|||||||
m_keywords << "if";
|
m_keywords << "if";
|
||||||
m_keywords << "in";
|
m_keywords << "in";
|
||||||
m_keywords << "instanceof";
|
m_keywords << "instanceof";
|
||||||
|
m_keywords << "let";
|
||||||
m_keywords << "new";
|
m_keywords << "new";
|
||||||
m_keywords << "return";
|
m_keywords << "return";
|
||||||
m_keywords << "switch";
|
m_keywords << "switch";
|
||||||
@@ -137,7 +139,6 @@ JSHighlighter::JSHighlighter(QTextDocument *parent)
|
|||||||
m_knownIds << "arguments";
|
m_knownIds << "arguments";
|
||||||
m_knownIds << "arity";
|
m_knownIds << "arity";
|
||||||
m_knownIds << "caller";
|
m_knownIds << "caller";
|
||||||
m_knownIds << "constructor";
|
|
||||||
m_knownIds << "length";
|
m_knownIds << "length";
|
||||||
m_knownIds << "name";
|
m_knownIds << "name";
|
||||||
m_knownIds << "apply";
|
m_knownIds << "apply";
|
||||||
@@ -265,7 +266,8 @@ void JSHighlighter::highlightBlock(const QString &text)
|
|||||||
Identifier = 2,
|
Identifier = 2,
|
||||||
String = 3,
|
String = 3,
|
||||||
Comment = 4,
|
Comment = 4,
|
||||||
Regex = 5
|
Regex = 5,
|
||||||
|
HexNumber = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
QList<int> bracketPositions;
|
QList<int> bracketPositions;
|
||||||
@@ -290,6 +292,10 @@ void JSHighlighter::highlightBlock(const QString &text)
|
|||||||
start = i;
|
start = i;
|
||||||
if (ch.isSpace()) {
|
if (ch.isSpace()) {
|
||||||
++i;
|
++i;
|
||||||
|
} else if (ch == '0' && (next == 'x' || next == 'X')) {
|
||||||
|
++i;
|
||||||
|
++i;
|
||||||
|
state = HexNumber;
|
||||||
} else if (ch.isDigit()) {
|
} else if (ch.isDigit()) {
|
||||||
++i;
|
++i;
|
||||||
state = Number;
|
state = Number;
|
||||||
@@ -333,6 +339,15 @@ void JSHighlighter::highlightBlock(const QString &text)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case HexNumber:
|
||||||
|
if (ch.isSpace() || !(ch.isDigit() || QString("ABCDEF").contains(ch.toUpper()))) {
|
||||||
|
setFormat(start, i - start, m_colors[JSEdit::Number]);
|
||||||
|
state = Start;
|
||||||
|
} else {
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case Identifier:
|
case Identifier:
|
||||||
if (ch.isSpace() || !(ch.isDigit() || ch.isLetter() || ch == '_')) {
|
if (ch.isSpace() || !(ch.isDigit() || ch.isLetter() || ch == '_')) {
|
||||||
QString token = text.mid(start, i - start).trimmed();
|
QString token = text.mid(start, i - start).trimmed();
|
||||||
|
|||||||
Reference in New Issue
Block a user