diff options
Diffstat (limited to 'meta/jinx-language-syntax/syntaxes')
| -rw-r--r-- | meta/jinx-language-syntax/syntaxes/jinx-lang.tmLanguage.json | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/meta/jinx-language-syntax/syntaxes/jinx-lang.tmLanguage.json b/meta/jinx-language-syntax/syntaxes/jinx-lang.tmLanguage.json new file mode 100644 index 0000000..89620eb --- /dev/null +++ b/meta/jinx-language-syntax/syntaxes/jinx-lang.tmLanguage.json @@ -0,0 +1,122 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "Jinx Lang", + "scopeName": "source.jl", + "fileTypes": [ + "lang", + "jl" + ], + "patterns": [ + { + "include": "#keyword" + }, + { + "include": "#identifier" + }, + { + "include": "#punctuation" + }, + { + "include": "#string" + }, + { + "include": "#numeric" + }, + { + "include": "#comment" + } + ], + "repository": { + "keyword": { + "patterns": [ + { + "name": "keyword.declaration.jl", + "match": "\\b(var|fn|type)\\b" + }, + { + "name": "keyword.control.jl", + "match": "\\b(if|elif|else|for|try|catch|finally)\\b" + }, + { + "name": "keyword.control.instruction.jl", + "match": "\\b(return|continue|break|throw)\\b" + }, + { + "name": "keyword.operator.operator.jl", + "match": "\\b(in)\\b" + }, + { + "name": "constant.language.jl", + "match": "\\b(null|true|false)\\b" + }, + { + "name": "variable.language.jl", + "match": "\\b(this)\\b" + }, + { + "name": "keyword.module.jl", + "match": "\\b(use|from|by|global)\\b" + } + ] + }, + "identifier": { + "patterns": [ + { + "match": "([a-z_][a-zA-Z0-9_]*)\\(", + "captures": { + "1": { + "name": "entity.name.function.jl" + } + } + }, + { + "match": "\\b([A-Z][a-zA-Z0-9_]*)\\b", + "captures": { + "1": { + "name": "support.class.jl" + } + } + } + ] + }, + "punctuation": { + "patterns": [ + { + "name": "keyword.operator.jl", + "match": "(=|\\+|-|\\*|/|%|!|==|!=|<|>|<=|>=)" + }, + { + "name": "punctuation.jl", + "match": "(,|\\.|;)" + } + ] + }, + "string": { + "name": "string.jl", + "begin": "\"", + "end": "\"", + "patterns": [ + { + "name": "constant.character.escape.jl", + "match": "\\\\." + } + ] + }, + "numeric": { + "patterns": [ + { + "name": "constant.numeric.jl", + "match": "\\b([0-9](\\.?[0-9]+)*)\\b" + } + ] + }, + "comment": { + "patterns": [ + { + "name": "comment.jl", + "match": "#.*\n" + } + ] + } + } +} \ No newline at end of file |
