{ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", "name": "Run", "patterns": [ { "include": "#keywords" }, { "include": "#string" }, { "include": "#math" }, { "include": "#variable" }, { "include": "#include" }, { "include": "#comments" }, { "include": "#subcommand" }, { "include": "#languages" } ], "repository": { "keywords": { "patterns": [ { "name": "keyword.function.run", "match": "\\b(fn)\\b" }, { "name": "keyword.command.run", "match": "\\b(cmd)\\b" }, { "name": "keyword.include.run", "match": "\\b(in)\\b" }, { "name": "keyword.subcommand.run", "match": "\\b(sub)\\b" }, { "name": "keyword.constant.run", "match": "\\b(const)\\b" }, { "name": "keyword.operator.declare.run", "match": "\\b(=)\\b" } ] }, "include": { "patterns": [ { "name": "string.unquoted.run", "match": "(?<=in)\\s+(.*)\\s*" } ] }, "string": { "patterns": [ { "name": "string.quoted.double.run", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.run", "match": "\\\\." } ] }, { "name": "string.quoted.single.run", "begin": "'", "end": "'", "patterns": [ { "name": "constant.character.escape.run", "match": "\\\\." } ] } ] }, "variable": { "patterns": [ { "match": "(?<=const)\\s+([a-zA-Z_\\-0-9]+)", "captures": { "1": { "name": "constant.other.run meta.interpolation.run" } } }, { "name": "string.unquoted", "begin": "(?<=const [\\s\\S]*=)[ ]*(?=[^\"' \\n])", "end": "\\n", "patterns": [ { "name": "constant.character.escape.run", "match": "\\\\." }, { "name": "keyword.operator.math.expression.run", "begin": "\\$\\(", "end": "\\)[ ]*$", "patterns": [ { "name": "constant.numeric.run", "match": "[0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+" }, { "name": "keyword.operator.math.run", "match": "[+|\\-|*]|((?