{ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", "name": "Q Prime", "patterns": [ { "include": "#keywords" }, { "include": "#strings" }, { "include": "#comments" }, { "include": "#numbers" }, { "include": "#functions" }, { "include": "#braces" }, { "include": "#variables" } ], "repository": { "keywords": { "patterns": [{ "name": "keyword.control.qprime", "match": "\\b(if|else|return|fn)\\b" }] }, "strings": { "name": "string.quoted.double.qprime", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.qprime", "match": "\\\\." } ] }, "comments": { "patterns": [ { "name": "comment.line.number-sign.qprime", "begin": "#", "end": "$" } ] }, "numbers": { "patterns": [ { "name": "constant.numeric.qprime", "match": "\\b\\d+(\\.\\d+)?\\b" } ] }, "functions": { "patterns": [ { "name": "entity.name.function.qprime", "match": "\\bfn\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\b" } ] }, "braces": { "patterns": [ { "name": "punctuation.section.braces.begin.qprime", "match": "\\{" }, { "name": "punctuation.section.braces.end.qprime", "match": "\\}" } ] }, "variables": { "patterns": [ { "name": "variable.other.qprime", "match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b" } ] } }, "scopeName": "source.qprime" }