92 lines
2.2 KiB
JSON
92 lines
2.2 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
|
|
"name": "Thyme",
|
|
"scopeName": "source.thyme",
|
|
"fileTypes": ["thyme"],
|
|
"patterns": [
|
|
{
|
|
"name": "comment.line.double-slash.thyme",
|
|
"match": "//.*$"
|
|
},
|
|
{
|
|
"name": "keyword.control.thyme",
|
|
"match": "\\b(for|if|else|return|break|continue|while|do|alloc)\\b"
|
|
},
|
|
{
|
|
"name": "constant.language.boolean.thyme",
|
|
"match": "\\b(true|false)\\b"
|
|
},
|
|
{
|
|
"name": "entity.name.function.thyme",
|
|
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=\\()"
|
|
},
|
|
{
|
|
"name": "entity.name.function.thyme",
|
|
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*=\\s*(?:\\(|\\{)"
|
|
},
|
|
{
|
|
"name": "variable.other.thyme",
|
|
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*\\(|\\s*=)"
|
|
},
|
|
{
|
|
"name": "support.class.thyme",
|
|
"match": "\\b(Scene|App|Sim)\\b"
|
|
},
|
|
{
|
|
"name": "string.quoted.double.thyme",
|
|
"match": "\"[^\"]*\""
|
|
},
|
|
{
|
|
"name": "string.quoted.single.thyme",
|
|
"match": "'[^']*'"
|
|
},
|
|
{
|
|
"name": "constant.numeric.thyme",
|
|
"match": "\\b\\d+(\\.\\d+)?\\b"
|
|
},
|
|
{
|
|
"name": "punctuation.definition.array.thyme",
|
|
"match": "\\[|\\]"
|
|
},
|
|
{
|
|
"name": "punctuation.definition.object.thyme",
|
|
"match": "\\{|\\}"
|
|
},
|
|
{
|
|
"name": "punctuation.separator.comma.thyme",
|
|
"match": ","
|
|
},
|
|
{
|
|
"name": "punctuation.separator.colon.thyme",
|
|
"match": ":(?!=)"
|
|
},
|
|
{
|
|
"name": "operator.assignment.thyme",
|
|
"match": ":=|="
|
|
},
|
|
{
|
|
"name": "operator.arrow.thyme",
|
|
"match": "=\\>"
|
|
},
|
|
{
|
|
"name": "operator.logical.thyme",
|
|
"match": "&&|\\|\\|"
|
|
},
|
|
{
|
|
"name": "operator.logical.thyme",
|
|
"match": "!"
|
|
},
|
|
{
|
|
"name": "operator.comparison.thyme",
|
|
"match": ">=|<=|==|!=|>|<"
|
|
},
|
|
{
|
|
"name": "operator.arithmetic.thyme",
|
|
"match": "\\+|-|\\*|/|%|\\^"
|
|
},
|
|
{
|
|
"name": "punctuation.separator.ternary.thyme",
|
|
"match": "\\?"
|
|
}
|
|
]
|
|
} |