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.

139 lines
4.3 KiB
JSON

{
"aliases": [
"asc"
],
"keywords": "for in|0 break continue while do|0 return if else case switch namespace is cast or and xor not get|0 in inout|10 out override set|0 private public const default|0 final shared external mixin|10 enum typedef funcdef this super import from interface abstract|0 try catch protected explicit property",
"illegal": "(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunctions*[^\\(])",
"contains": [
{
"className": "string",
"begin": "'",
"end": "'",
"illegal": "\\n",
"contains": [
{
"begin": "\\\\[\\s\\S]",
"relevance": 0
}
],
"relevance": 0
},
{
"className": "string",
"begin": "\"",
"end": "\"",
"illegal": "\\n",
"contains": [
{
"$ref": "#contains.0.contains.0"
}
],
"relevance": 0
},
{
"className": "string",
"begin": "\"\"\"",
"end": "\"\"\""
},
{
"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
}
]
},
{
"className": "comment",
"begin": "\/\\*",
"end": "\\*\/",
"contains": [
{
"$ref": "#contains.3.contains.0"
},
{
"className": "doctag",
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
"relevance": 0
}
]
},
{
"beginKeywords": "interface namespace",
"end": "{",
"illegal": "[;.\\-]",
"contains": [
{
"className": "symbol",
"begin": "[a-zA-Z0-9_]+"
}
]
},
{
"beginKeywords": "class",
"end": "{",
"illegal": "[;.\\-]",
"contains": [
{
"className": "symbol",
"begin": "[a-zA-Z0-9_]+",
"contains": [
{
"begin": "[:,]\\s*",
"contains": [
{
"className": "symbol",
"begin": "[a-zA-Z0-9_]+"
}
]
}
]
}
]
},
{
"className": "built_in",
"begin": "\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)",
"contains": [
{
"className": "keyword",
"begin": "<",
"end": ">",
"contains": [
{
"$ref": "#contains.7"
},
{
"className": "symbol",
"begin": "[a-zA-Z0-9_]+@",
"contains": [
{
"$ref": "#contains.7.contains.0"
}
]
}
]
}
]
},
{
"$ref": "#contains.7.contains.0.contains.1"
},
{
"className": "literal",
"begin": "\\b(null|true|false)"
},
{
"className": "number",
"begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"
}
]
}