platform/packages/vscode/angel_vscode/syntaxes/jael.json

173 lines
3.8 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
{
2018-11-13 03:36:36 +00:00
"match": "\\b(DOCTYPE|doctype)\\b",
"name": "keyword.doctype.jael"
2018-11-12 20:50:52 +00:00
},
2018-11-12 09:38:33 +00:00
{
"match": "[:,\\.]",
"name": "punctuation.jael"
},
{
2018-11-13 03:36:36 +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" }]
},
2018-11-13 03:36:36 +00:00
{
"begin": "<\\s*(script)[^>]*>",
2018-11-14 07:03:56 +00:00
"end": "(.*)<\\s*/\\s*(script)[^>]*>",
2018-11-13 03:36:36 +00:00
"beginCaptures": {
"1": {
2018-11-14 07:03:56 +00:00
"name": "keyword.tag.embedded.js.jael"
2018-11-13 03:36:36 +00:00
}
},
"endCaptures": {
"1": {
2018-11-14 07:03:56 +00:00
"name": "source.js",
"contentName": "source.js"
},
"2": {
"name": "keyword.tag.embedded.js.jael"
2018-11-13 03:36:36 +00:00
}
},
2018-11-14 07:03:56 +00:00
"contentName": "source.js",
2018-11-13 03:36:36 +00:00
"patterns": [{ "include": "source.js" }]
},
2018-11-14 07:03:56 +00:00
{
"begin": "<\\s*(style)[^>]*>",
"end": "<\\s*/\\s*(style)[^>]*>",
"beginCaptures": {
"1": {
"name": "keyword.tag.embedded.css.jael"
}
},
"endCaptures": {
"1": {
"name": "keyword.tag.embedded.css.jael"
}
},
"contentName": "source.css",
"patterns": [{ "include": "source.css" }]
},
2018-11-12 09:38:33 +00:00
{
"match": "\\b(block|declare|for-each|extend|if|include|switch)\\b",
"name": "keyword.control.jael"
},
{
2018-11-13 03:36:36 +00:00
"match": "<\\s*/?\\s*([A-Za-z_][A-Za-z0-9_-]*)(\\s*[A-Za-z_][A-Za-z0-9_]*(?!=)\\s*)*\\b",
2018-11-12 09:38:33 +00:00
"captures": {
"1": {
"name": "keyword.tag.jael"
2018-11-13 03:36:36 +00:00
},
"2": {
"name": "storage.name.jael"
2018-11-12 09:38:33 +00:00
}
}
},
{
"match": "@[A-Za-z_][A-Za-z0-9_]*",
"name": "storage.argument.jael"
},
{
2018-11-13 03:36:36 +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"
2018-11-13 03:36:36 +00:00
},
{
"include": "source.html"
2018-11-12 09:38:33 +00:00
}
],
"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"
}
}
}
]
}
}
}