Grammar for Jael done

This commit is contained in:
Tobe O 2018-11-12 04:38:33 -05:00
parent 5509c87034
commit dcaaad31aa
3 changed files with 173 additions and 0 deletions

View file

@ -33,6 +33,25 @@
"title": "Hello World"
}
],
"languages": [
{
"id": "jael",
"aliases": [
"Jael"
],
"extensions": [
".jael"
],
"configuration": "./syntaxes/jael-language-configuration.json"
}
],
"grammars": [
{
"language": "jael",
"scopeName": "source.jael",
"path": "./syntaxes/jael.json"
}
],
"snippets": [
{
"language": "dart",

View file

@ -0,0 +1,28 @@
{
"attribution-notice": {
"author-of-most-of-this-file": "Danny Tuppeny",
"source": "https://github.com/Dart-Code/Dart-Code/blob/master/syntaxes/dart.json"
},
"comments": {
"blockComment": ["<!--", "-->"]
},
"brackets": [["{", "}"], ["[", "]"], ["(", ")"], ["<", ">"]],
"autoClosingPairs": [
{ "open": "{", "close": "}" },
{ "open": "[", "close": "]" },
{ "open": "(", "close": ")" },
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
{ "open": "\"", "close": "\"", "notIn": ["string"] },
{ "open": "`", "close": "`", "notIn": ["string", "comment"] },
{ "open": "/**", "close": " */", "notIn": ["string"] }
],
"surroundingPairs": [
["{", "}"],
["[", "]"],
["(", ")"],
["<", ">"],
["'", "'"],
["\"", "\""],
["`", "`"]
]
}

View file

@ -0,0 +1,126 @@
{
"fileTypes": ["jael"],
"name": "Jael",
"scopeName": "source.jael",
"patterns": [
{
"include": "#expressions"
},
{
"match": "[:,\\.]",
"name": "punctuation.jael"
},
{
"begin": "{{-?",
"end": "}}",
"beginCaptures": {
"0": {
"name": "comment.jael"
}
},
"endCaptures": {
"0": {
"name": "comment.jael"
}
},
"patterns": [{ "include": "#expressions" }, { "include": "#operators" }]
},
{
"match": "\\b(block|declare|for-each|extend|if|include|switch)\\b",
"name": "keyword.control.jael"
},
{
"match": "<\\s*/?\\s*([A-Za-z_][A-Za-z0-9_]*)\\b",
"captures": {
"1": {
"name": "keyword.tag.jael"
}
}
},
{
"match": "@[A-Za-z_][A-Za-z0-9_]*",
"name": "storage.argument.jael"
},
{
"match": "\\b(@?[A-Za-z_][A-Za-z0-9_]*)=",
"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"
}
}
}
]
}
}
}