{ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", "name": "Risor", "patterns": [ { "include": "#keywords" }, { "include": "#strings" }, { "include": "#comments" }, { "include": "#constants" }, { "include": "#variables" }, { "include": "#backtick_strings" }, { "include": "#single_quote_strings" }, { "include": "#block_comments" } ], "repository": { "variables": { "patterns": [ { "name": "variable.other", "match": "[a-zA-Z0-9_]+(?=[\\s]+(:=|=)[\\s]+)" }, { "name": "entity.name.function", "match": "[a-zA-Z0-9_]+(?=\\()" } ] }, "comments": { "patterns": [ { "name": "comment.line.double-slash", "match": "(//)(.*)" }, { "name": "comment.line.number-sign", "match": "(#)(.*)" } ] }, "constants": { "patterns": [ { "name": "constant.language", "match": "\\b(true|false|nil)\\b" }, { "name": "constant.numeric", "match": "\\b([0-9]+[.]*[0-9]*)\\b" } ] }, "keywords": { "patterns": [ { "name": "keyword.control.risor", "match": "\\b(catch|const|else|finally|function|if|in|let|match|not|return|struct|throw|try)\\b" } ] }, "strings": { "name": "string.quoted.double.risor", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.risor", "match": "\\\\." } ] }, "backtick_strings": { "name": "string.quoted.other.risor", "begin": "`", "end": "`", "patterns": [ { "name": "constant.character.escape.risor", "match": "\\\\." } ] }, "single_quote_strings": { "name": "string.quoted.other.risor", "begin": "'", "end": "'", "patterns": [ { "name": "constant.character.escape.risor", "match": "\\\\." } ] }, "block_comments": { "name": "comment.block.risor", "begin": "/\\*", "end": "\\*/", "patterns": [ { "name": "constant.character.escape.risor", "match": "\\\\." } ] } }, "scopeName": "source.risor" }