{ "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", "name": "faye", "fileTypes": ["faye", "fy"], "scopeName": "source.faye", "patterns": [ { "include": "#comments" }, { "include": "#strings" }, { "include": "#char" }, { "include": "#constant" }, { "include": "#punctuation" }, { "include": "#function" }, { "include": "#symbol" } ], "repository": { "comments": { "name": "comment.line.semicolon.faye", "begin": ";", "end": "$", "patterns": [ { "name": "punctuation.definition.comment.faye", "match": ";.*$" } ] }, "strings": { "name": "string.quoted.double.faye", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.faye", "match": "\\\\[\\\\en\"]" } ] }, "char": { "name": "string.quoted.single.char.faye", "begin": "'", "end": "'" }, "constant": { "patterns": [ { "name": "constant.numeric.faye", "match": "\\b\\d+\\b" }, { "name": "constant.language.faye", "match": "\\b(true|false|nil)\\b" } ] }, "function": { "begin": "\\(", "end": " ", "patterns": [ { "name": "keyword.other.faye", "match": "(and|chars|const|fn|if|join|lambda|let|list|not|or|println|quote|str|vec|vector|λ)" }, { "name": "keyword.operator.faye", "match": "(\\*|\\+|-|\\/|<|<=|=|>|>=)" }, { "name": "entity.name.function", "match": "\\b\\w+\\b" } ] }, "symbol": { "patterns": [ { "name": "constant.faye", "match": "\\b\\w+\\b" } ] }, "punctuation": { "patterns": [ { "name": "keyword.other.symbol.faye", "match": ":\\w+" } ] } } }