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.

223 lines
9.3 KiB
JSON

{
"aliases": [
"erl"
],
"keywords": {
"keyword": "after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",
"literal": "false true"
},
"illegal": "(<\/|\\*=|\\+=|-=|\/\\*|\\*\/|\\(\\*|\\*\\))",
"contains": [
{
"className": "function",
"begin": "^[a-z'][a-zA-Z0-9_']*\\s*\\(",
"end": "->",
"returnBegin": true,
"illegal": "\\(|#|\/\/|\/\\*|\\\\|:|;",
"contains": [
{
"className": "params",
"begin": "\\(",
"end": "\\)",
"contains": [
{
"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": "fun\\s+[a-z'][a-zA-Z0-9_']*\/\\d+"
},
{
"beginKeywords": "fun receive if try case",
"end": "end",
"keywords": {
"$ref": "#keywords"
},
"contains": [
{
"$ref": "#contains.0.contains.0.contains.0"
},
{
"$ref": "#contains.0.contains.0.contains.1"
},
{
"className": "",
"begin": "'",
"end": "'",
"illegal": "\\n",
"contains": [
{
"begin": "\\\\[\\s\\S]",
"relevance": 0
}
]
},
{
"$ref": "#contains.0.contains.0.contains.2"
},
{
"begin": "([a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*|[a-z'][a-zA-Z0-9_']*)\\(",
"end": "\\)",
"returnBegin": true,
"relevance": 0,
"contains": [
{
"begin": "([a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*|[a-z'][a-zA-Z0-9_']*)",
"relevance": 0
},
{
"begin": "\\(",
"end": "\\)",
"endsWithParent": true,
"returnEnd": true,
"relevance": 0,
"contains": {
"$ref": "#contains.0.contains.0.contains"
}
}
]
},
{
"className": "string",
"begin": "\"",
"end": "\"",
"illegal": "\\n",
"contains": [
{
"$ref": "#contains.0.contains.0.contains.2.contains.2.contains.0"
}
]
},
{
"className": "number",
"begin": "\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",
"relevance": 0
},
{
"begin": "{",
"end": "}",
"relevance": 0,
"contains": {
"$ref": "#contains.0.contains.0.contains"
}
},
{
"begin": "\\b_([A-Z][A-Za-z0-9_]*)?",
"relevance": 0
},
{
"begin": "[A-Z][a-zA-Z0-9_]*",
"relevance": 0
},
{
"begin": "#[a-zA-Z_]\\w*",
"relevance": 0,
"returnBegin": true,
"contains": [
{
"begin": "#[a-zA-Z_]\\w*",
"relevance": 0
},
{
"begin": "{",
"end": "}",
"relevance": 0,
"contains": {
"$ref": "#contains.0.contains.0.contains"
}
}
]
}
]
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.4"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.5"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.6"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.7"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.8"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.9"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.10"
}
]
},
{
"className": "title",
"begin": "[a-z'][a-zA-Z0-9_']*",
"relevance": 0
}
],
"starts": {
"end": ";|\\.",
"keywords": {
"$ref": "#keywords"
},
"contains": {
"$ref": "#contains.0.contains.0.contains"
}
}
},
{
"$ref": "#contains.0.contains.0.contains.0"
},
{
"begin": "^-",
"end": "\\.",
"relevance": 0,
"excludeEnd": true,
"returnBegin": true,
"lexemes": "-[a-zA-Z]\\w*",
"keywords": "-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",
"contains": [
{
"$ref": "#contains.0.contains.0"
}
]
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.6"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.5"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.10"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.8"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.9"
},
{
"$ref": "#contains.0.contains.0.contains.2.contains.7"
},
{
"begin": "\\.$"
}
]
}