Files
dsProject/dsLightRag/Algodoo/thyme-syntax-highlight/syntaxes/thyme.tmLanguage.json

92 lines
2.2 KiB
JSON
Raw Normal View History

2025-08-14 15:45:08 +08:00
{
"$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": "\\?"
}
]
}