{ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", "name": "CNNL", "scopeName": "source.cnnl", "patterns": [ { "include": "#comments" }, { "include": "#keywords" }, { "include": "#strings" }, { "include": "#numbers" }, { "include": "#constants" }, { "include": "#functions" } ], "repository": { "comments": { "patterns": [ { "name": "comment.line.double-slash.cnnl", "match": "//.*$" }, { "name": "comment.block.cnnl", "begin": "/\\*", "end": "\\*/" } ] }, "keywords": { "patterns": [ { "name": "keyword.control.cnnl", "match": "\\b(clause|level|title|predicate|parameter|obligation|depends_on|if|else|return|true|false)\\b" }, { "name": "keyword.other.cnnl", "match": "\\b(eternal|strategic|operational|continuous|periodic|manual|ai_enforcer)\\b" } ] }, "strings": { "name": "string.quoted.double.cnnl", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.cnnl", "match": "\\\\." } ] }, "numbers": { "patterns": [ { "name": "constant.numeric.float.cnnl", "match": "\\b[0-9]+\\.[0-9]+\\b" }, { "name": "constant.numeric.integer.cnnl", "match": "\\b[0-9]+\\b" } ] }, "constants": { "name": "variable.other.constant.cnnl", "match": "\\b[A-Z][A-Z0-9_]*\\b" }, "functions": { "name": "entity.name.function.cnnl", "match": "\\b[a-z_][a-z0-9_]*(?=\\s*\\()" } } }