{ "name": "Gluon", "fileTypes": [ "glu" ], "patterns": [ { "match": "(?=?|\\||\\?", "name": "keyword.operator.glu" }, { "match": "(\\\\)[a-zA-Z0-9_]+", "captures": { "1": { "name": "entity.name.function.glu" } } }, { "match": "\\b(let)\\s+([a-zA-Z0-9_]+)(?:\\s+(\\?)?[a-zA-Z0-9_]+)+|\\b(let)\\b", "captures": { "1": { "name": "keyword.glu" }, "2": { "name": "entity.name.function.glu" }, "3": { "name": "keyword.control.implicit-operator.glu" }, "4": { "name": "keyword.glu" } } }, { "begin": ":|\\b(type)\\b", "beginCaptures": { "1": { "name": "keyword.glu" } }, "end": "(=)|}|,", "endCaptures": { "1": { "name": "keyword.operator.glu" } }, "patterns": [ { "include": "#types-atom" }, { "include": "#types-parens" } ] } ], "repository": { "types-parens": { "begin": "\\(", "end": "\\)", "patterns": [ { "include": "#types-atom" }, { "include": "#types-parens" } ] }, "types-atom": { "patterns": [ { "match": "->", "name": "keyword.operator.glu" }, { "match": "forall", "name": "keyword.glu" }, { "match": "\\b[A-Z][a-zA-Z0-9_]*\\b", "name": "entity.name.type.glu" }, { "match": "\\b[a-z][a-z0-9_]*\\b", "name": "entity.name.type.parameter.glu" } ] } }, "scopeName": "source.glu", "uuid": "61b885fb-765c-44ba-abef-09a3700852be" }