Files
WACC_37/wacc-syntax/syntaxes/wacc.tmLanguage.json

56 lines
1.1 KiB
JSON

{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "WACC",
"scopeName": "source.wacc",
"fileTypes": [
"wacc"
],
"patterns": [
{
"match": "\\b(true|false)\\b",
"name": "keyword.constant.wacc"
},
{
"match": "\\b(int|bool|char|string|pair|null)\\b",
"name": "storage.type.wacc"
},
{
"match": "\".*?\"",
"name": "string.quoted.double.mylang"
},
{
"match": "\\b(begin|end)\\b",
"name": "keyword.other.unit"
},
{
"match": "\\b(if|then|else|fi|while|do|done|skip|is)\\b",
"name": "keyword.control.wacc"
},
{
"match": "\\b(read|free|print|println|newpair|call|fst|snd|ord|chr|len)\\b",
"name": "keyword.operator.function.wacc"
},
{
"match": "\\b(return|exit)\\b",
"name": "keyword.operator.wacc"
},
{
"match": "'[^']{1}'",
"name": "constant.character.wacc"
},
{
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=\\()",
"name": "variable.function.wacc"
},
{
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b",
"name": "variable.other.wacc"
},
{
"match": "#.*$",
"name": "comment.line"
}
]
}