platform/angel_vscode/syntaxes/jael.json

138 lines
2.9 KiB
JSON
Raw Normal View History

2018-11-12 09:38:33 +00:00
{
"fileTypes": ["jael"],
"name": "Jael",
"scopeName": "source.jael",
"patterns": [
{
"include": "#expressions"
},
2018-11-12 20:50:52 +00:00
{
"match": "!(DOCTYPE|doctype)([>]*)",
"captures": {
"1": {
"name": "keyword.doctype.jael"
},
"2": {
"name": "support.doctype-value.jael"
}
}
},
2018-11-12 09:38:33 +00:00
{
"match": "[:,\\.]",
"name": "punctuation.jael"
},
{
2018-11-12 18:35:17 +00:00
"begin": "{{(?!-)",
2018-11-12 09:38:33 +00:00
"end": "}}",
"beginCaptures": {
"0": {
2018-11-12 18:35:17 +00:00
"name": "keyword.operator.jael"
2018-11-12 09:38:33 +00:00
}
},
"endCaptures": {
"0": {
2018-11-12 18:35:17 +00:00
"name": "keyword.operator.jael"
2018-11-12 09:38:33 +00:00
}
},
"patterns": [{ "include": "#expressions" }, { "include": "#operators" }]
},
{
"match": "\\b(block|declare|for-each|extend|if|include|switch)\\b",
"name": "keyword.control.jael"
},
{
2018-11-12 20:50:52 +00:00
"match": "<\\s*/?\\s*([A-Za-z_][A-Za-z0-9_-]*)\\b",
2018-11-12 09:38:33 +00:00
"captures": {
"1": {
"name": "keyword.tag.jael"
}
}
},
{
"match": "@[A-Za-z_][A-Za-z0-9_]*",
"name": "storage.argument.jael"
},
{
2018-11-12 20:50:52 +00:00
"match": "\\b(@?[A-Za-z_][A-Za-z0-9_]*)=?",
2018-11-12 09:38:33 +00:00
"captures": {
"1": {
"name": "storage.name.jael"
}
}
},
{
"captures": {
"0": {
"name": "punctuation.definition.comment.jael"
}
},
"begin": "<!--",
"end": "-->",
"name": "comment.jael"
},
{
"include": "#operators"
}
],
"repository": {
"operators": {
"patterns": [
{
"match": "((!?=)|\\+|\\*|-|/|\\?|(\\?\\.)|%|\\[|\\])",
"name": "keyword.operator.jael"
}
]
},
"expressions": {
"patterns": [
{
"match": "\\b[<>]\\b",
"name": "keyword.operator.jael"
},
{
"begin": "'",
"end": "'",
"name": "string.quoted.single.jael",
"patterns": [
{
"name": "constant.character.escape.jael",
"match": "\\\\[bfnrt']"
}
]
},
{
"begin": "\"",
"end": "\"",
"name": "string.quoted.double.jael",
"patterns": [
{
"name": "constant.character.escape.jael",
"match": "\\\\[bfnrt\"]"
}
]
},
{
"match": "\\b(true|false|null)\\b",
"name": "constant.language.jael"
},
{
"match": "\\b-?[0-9]+(\\.[0-9]+)?([Ee][0-9]+)?\\b",
"name": "constant.numeric.jael"
},
{
"match": "\\b0x[A-Fa-f0-9]+\\b",
"name": "constant.numeric.jael"
},
{
"match": "([A-Za-z_][A-Za-z0-9_]*)\\s*\\(",
"captures": {
"1": {
"name": "entity.name.function.jael"
}
}
}
]
}
}
}