diff options
| author | Mel <einebeere@gmail.com> | 2022-12-18 01:06:40 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-12-18 01:06:40 +0100 |
| commit | a43f374ffed8ab5d64acd122702826c9c41b8954 (patch) | |
| tree | 4c6aa2d3dbfaad7ef8133d8bc40e12b3047c2126 /meta/jinx-language-syntax/syntaxes/jinx-lang.tmLanguage.json | |
| parent | 00adb146a20d2985fd014c92b9d5cc07e0ab09b9 (diff) | |
| download | jinx-a43f374ffed8ab5d64acd122702826c9c41b8954.tar.zst jinx-a43f374ffed8ab5d64acd122702826c9c41b8954.zip | |
Add Jinx Lang VSCode Syntax Extension
Diffstat (limited to 'meta/jinx-language-syntax/syntaxes/jinx-lang.tmLanguage.json')
| -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 |
