{ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", "name": "couch", "patterns": [ { "include": "#comments" }, { "include": "#keywords" }, { "include": "#numbers" }, { "include": "#strings" }, { "include": "#entity" }, { "include": "#constants" }, { "include": "#operator" }, { "include": "#punctuation" }, { "include": "#variable" } ], "repository": { "comments": { "patterns": [ { "name": "comment.line.dansk", "begin": "//", "end": "\\n" }, { "name": "comment.block.dansk", "begin": "/\\*", "end": "\\*/" } ] }, "numbers": { "patterns": [{ "name": "constant.numeric.couch", "match": "\\b0|[1-9][0-9]*(\\.[0-9]+)?\\b" }] }, "keywords": { "patterns": [{ "name": "keyword.control.couch", "match": "\\b(if|else|match|while|for|return|break|continue|fn|not|and|or|as|in|mut|let)\\b" }] }, "strings": { "name": "string.quoted.double.couch", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.couch", "match": "\\\\." } ] }, "entity": { "patterns": [ { "match": "(?>[a-zA-Z_](\\w+)?)\\s*(?=(?>\\:\\:<.*?>)?\\()", "name": "entity.name.function.couch" }, { "match": "(?<=funktion\\s+)(?>[a-zA-Z_](\\w+)?)\\s*(?=(?><.*?>)?\\()", "name": "entity.name.function.couch" } ] }, "constants": { "patterns": [{ "name": "constant.language.couch", "match": "\\b(false|true)\\b" }] }, "operator": { "patterns": [ { "match": "\\+=|-=|!=|<=|(?!\\-)>=|==|<|>|=|%|/|\\-(?!>)|\\+|\\.(?!\\.)", "name": "keyword.operator.couch" }, { "match": "->|:|;|::", "name": "keyword.operator.couch" } ] }, "punctuation": { "patterns": [ { "match": ";", "name": "punctuation.terminator.statement.couch" }, { "match": ",", "name": "punctuation.separator.delimiter.couch" } ] }, "variable": { "patterns": [ { "match": "(?>[a-z_]\\w*)\\s*(?=\\=)", "name": "variable.other.assign.couch" }, { "match": "(?>[a-z_]\\w*)", "name": "variable.other.couch" } ] } }, "scopeName": "source.chl" }