2024-03-10 23:23:50 +01:00
|
|
|
{
|
|
|
|
"patterns": [
|
|
|
|
{ "regex": "\\/\\/.*", "is": "comment" },
|
|
|
|
{
|
|
|
|
"regex": "\\/\\*.*?\\*\\/",
|
|
|
|
"flags": ["dotMatchesNewline"],
|
|
|
|
"is": "comment"
|
|
|
|
},
|
|
|
|
{ "regex": "[A-Z_][a-zA-Z0-9_]*", "is": "keyword2" },
|
|
|
|
{
|
|
|
|
"regex": "[a-zA-Z_][a-zA-Z0-9_]*(\\()",
|
|
|
|
"is": { "default": "function", "captures": ["default"] }
|
|
|
|
},
|
|
|
|
{ "regex": "[a-zA-Z_][a-zA-Z0-9_]*", "is": "identifier" },
|
|
|
|
{ "regex": "0[bB][01_]+n?", "is": "literal" },
|
|
|
|
{ "regex": "0[oO][0-7_]+n?", "is": "literal" },
|
|
|
|
{ "regex": "0[xX][0-9a-fA-F_]+n?", "is": "literal" },
|
|
|
|
{ "regex": "[0-9_]+n", "is": "literal" },
|
|
|
|
{ "regex": "[0-9_]+(\\.[0-9_]*([eE][-+]?[0-9_]+)?)?", "is": "literal" },
|
2024-03-12 20:02:55 +01:00
|
|
|
{ "regex": "'(\\\\'|[^'])*'", "is": "string" },
|
|
|
|
{ "regex": "\"(\\\\\"|[^\"])*\"", "is": "string" },
|
|
|
|
{ "regex": "`(\\\\`|[^`])*`", "is": "string" },
|
2024-03-10 23:23:50 +01:00
|
|
|
{ "regex": "[+=/*^%<>!~|&\\.?:-]+", "is": "operator" },
|
|
|
|
{ "regex": "[,;]", "is": "punct" }
|
|
|
|
],
|
|
|
|
"keywords": {
|
|
|
|
"as": { "into": "keyword1", "onlyReplaces": "identifier" },
|
|
|
|
"async": { "into": "keyword1", "onlyReplaces": "identifier" },
|
|
|
|
"await": { "into": "keyword1" },
|
|
|
|
"break": { "into": "keyword1" },
|
|
|
|
"case": { "into": "keyword1" },
|
|
|
|
"catch": { "into": "keyword1" },
|
|
|
|
"class": { "into": "keyword1" },
|
|
|
|
"const": { "into": "keyword1" },
|
|
|
|
"continue": { "into": "keyword1" },
|
|
|
|
"debugger": { "into": "keyword1" },
|
|
|
|
"default": { "into": "keyword1" },
|
|
|
|
"delete": { "into": "keyword1" },
|
|
|
|
"do": { "into": "keyword1" },
|
|
|
|
"else": { "into": "keyword1" },
|
|
|
|
"export": { "into": "keyword1" },
|
|
|
|
"extends": { "into": "keyword1" },
|
|
|
|
"finally": { "into": "keyword1" },
|
|
|
|
"for": { "into": "keyword1" },
|
|
|
|
"from": { "into": "keyword1", "onlyReplaces": "identifier" },
|
|
|
|
"function": { "into": "keyword1" },
|
|
|
|
"get": { "into": "keyword1", "onlyReplaces": "identifier" },
|
|
|
|
"if": { "into": "keyword1" },
|
|
|
|
"import": { "into": "keyword1" },
|
|
|
|
"in": { "into": "keyword1" },
|
|
|
|
"instanceof": { "into": "keyword1" },
|
|
|
|
"let": { "into": "keyword1" },
|
|
|
|
"new": { "into": "keyword1" },
|
|
|
|
"of": { "into": "keyword1", "onlyReplaces": "identifier" },
|
|
|
|
"return": { "into": "keyword1" },
|
|
|
|
"set": { "into": "keyword1", "onlyReplaces": "identifier" },
|
|
|
|
"static": { "into": "keyword1" },
|
|
|
|
"switch": { "into": "keyword1" },
|
|
|
|
"throw": { "into": "keyword1" },
|
|
|
|
"try": { "into": "keyword1" },
|
|
|
|
"typeof": { "into": "keyword1" },
|
|
|
|
"var": { "into": "keyword1" },
|
|
|
|
"void": { "into": "keyword1" },
|
|
|
|
"while": { "into": "keyword1" },
|
|
|
|
"with": { "into": "keyword1" },
|
|
|
|
"yield": { "into": "keyword1" },
|
|
|
|
|
|
|
|
"super": { "into": "keyword2" },
|
|
|
|
"this": { "into": "keyword2" },
|
|
|
|
|
|
|
|
"false": { "into": "literal" },
|
|
|
|
"true": { "into": "literal" },
|
|
|
|
"undefined": { "into": "literal" },
|
|
|
|
"null": { "into": "literal" }
|
|
|
|
}
|
|
|
|
}
|