You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

268 lines
10 KiB
JSON

{
"aliases": [
"coffee",
"cson",
"iced"
],
"keywords": {
"keyword": "in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",
"literal": "true false null undefined yes no on off",
"built_in": "npm require console print module global window document"
},
"illegal": "\\\/\\*",
"contains": [
{
"className": "number",
"begin": "\\b(0b[01]+)",
"relevance": 0
},
{
"className": "number",
"begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
"relevance": 0,
"starts": {
"end": "(\\s*\/)?",
"relevance": 0
}
},
{
"className": "string",
"variants": [
{
"begin": "'''",
"end": "'''",
"contains": [
{
"begin": "\\\\[\\s\\S]",
"relevance": 0
}
]
},
{
"begin": "'",
"end": "'",
"contains": [
{
"$ref": "#contains.2.variants.0.contains.0"
}
]
},
{
"begin": "\"\"\"",
"end": "\"\"\"",
"contains": [
{
"$ref": "#contains.2.variants.0.contains.0"
},
{
"className": "subst",
"begin": "#\\{",
"end": "}",
"keywords": {
"$ref": "#keywords"
},
"contains": [
{
"$ref": "#contains.0"
},
{
"$ref": "#contains.1"
},
{
"$ref": "#contains.2"
},
{
"className": "regexp",
"variants": [
{
"begin": "\/\/\/",
"end": "\/\/\/",
"contains": [
{
"$ref": "#contains.2.variants.2.contains.1"
},
{
"className": "comment",
"begin": "#",
"end": "$",
"contains": [
{
"begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
},
{
"className": "doctag",
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
"relevance": 0
}
]
}
]
},
{
"begin": "\/\/[gim]{0,3}(?=\\W)",
"relevance": 0
},
{
"begin": "\\\/(?![ *]).*?(?![\\\\]).\\\/[gim]{0,3}(?=\\W)"
}
]
},
{
"begin": "@[A-Za-z$_][0-9A-Za-z$_]*"
},
{
"subLanguage": "javascript",
"excludeBegin": true,
"excludeEnd": true,
"variants": [
{
"begin": "```",
"end": "```"
},
{
"begin": "`",
"end": "`"
}
]
}
]
}
]
},
{
"begin": "\"",
"end": "\"",
"contains": [
{
"$ref": "#contains.2.variants.0.contains.0"
},
{
"$ref": "#contains.2.variants.2.contains.1"
}
]
}
]
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.3"
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.4"
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.5"
},
{
"className": "comment",
"begin": "###",
"end": "###",
"contains": [
{
"$ref": "#contains.2.variants.2.contains.1.contains.3.variants.0.contains.1.contains.0"
},
{
"className": "doctag",
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
"relevance": 0
}
]
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.3.variants.0.contains.1"
},
{
"className": "function",
"begin": "^\\s*[A-Za-z$_][0-9A-Za-z$_]*\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",
"end": "[-=]>",
"returnBegin": true,
"contains": [
{
"className": "title",
"begin": "[A-Za-z$_][0-9A-Za-z$_]*",
"relevance": 0
},
{
"className": "params",
"begin": "\\([^\\(]",
"returnBegin": true,
"contains": [
{
"begin": "\\(",
"end": "\\)",
"keywords": {
"$ref": "#keywords"
},
"contains": [
"self",
{
"$ref": "#contains.0"
},
{
"$ref": "#contains.1"
},
{
"$ref": "#contains.2"
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.3"
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.4"
},
{
"$ref": "#contains.2.variants.2.contains.1.contains.5"
}
]
}
]
}
]
},
{
"begin": "[:\\(,=]\\s*",
"relevance": 0,
"contains": [
{
"className": "function",
"begin": "(\\(.*\\))?\\s*\\B[-=]>",
"end": "[-=]>",
"returnBegin": true,
"contains": [
{
"$ref": "#contains.8.contains.1"
}
]
}
]
},
{
"className": "class",
"beginKeywords": "class",
"end": "$",
"illegal": "[:=\"\\[\\]]",
"contains": [
{
"beginKeywords": "extends",
"endsWithParent": true,
"illegal": "[:=\"\\[\\]]",
"contains": [
{
"$ref": "#contains.8.contains.0"
}
]
},
{
"$ref": "#contains.8.contains.0"
}
]
},
{
"begin": "[A-Za-z$_][0-9A-Za-z$_]*:",
"end": ":",
"returnBegin": true,
"returnEnd": true,
"relevance": 0
}
]
}