From c11889fc5d28b2c2086d1149983c460312e0452b Mon Sep 17 00:00:00 2001 From: Cupelt Date: Sun, 30 Jul 2023 18:37:44 +0900 Subject: [PATCH] initialization --- .gitignore | 1 + .vscode/launch.json | 17 +++ .vscodeignore | 3 + CHANGELOG.md | 24 ++++ LICENSE.md | 21 ++++ README.md | 3 + icons/TRGLogo.png | Bin 0 -> 15297 bytes language-configuration.json | 28 +++++ package.json | 32 ++++++ syntaxes/triggerreactor.tmLanguage.json | 146 ++++++++++++++++++++++++ 10 files changed, 275 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 .vscodeignore create mode 100644 CHANGELOG.md create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 icons/TRGLogo.png create mode 100644 language-configuration.json create mode 100644 package.json create mode 100644 syntaxes/triggerreactor.tmLanguage.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dfacd4d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.vsix \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..0e191b5 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,17 @@ +// A launch configuration that launches the extension inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Extension", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ] + } + ] +} \ No newline at end of file diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 0000000..43e4e83 --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,3 @@ +.vscode/** +.vscode-test/** +.gitignore \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d86f33c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ +# Change Log + +All notable changes to the "TriggerReactor-VSCode" extension will be documented in this file. + +## [1.0.0] - 2023-03-22 + +### Added + +- Add language highlighter + +## [1.0.1] - 2023-04-19 + +### Added + +- Add language highlighter `SYNC statements` +- Add language highlighter `AS statements` +- Add language highlighter `SYNC/ASYNC statements` +- Add language highlighter `commant` + +- support folding + +### Fixed + +- Fixed a `FINNALY` was not highlighted. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..6875f04 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Cupelt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..015e979 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# TriggerReactor-VSCode + +VSCode Helper from TriggerReactor \ No newline at end of file diff --git a/icons/TRGLogo.png b/icons/TRGLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..2e1865964e81fcd5d7c776790a9210eaacc03b04 GIT binary patch literal 15297 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 bpfX4Hzq<<$fd63&0x3UNmoJw!d;9+YcV}ri literal 0 HcmV?d00001 diff --git a/language-configuration.json b/language-configuration.json new file mode 100644 index 0000000..b6bdd1e --- /dev/null +++ b/language-configuration.json @@ -0,0 +1,28 @@ +{ + "comments": { + // symbol used for single line comment. Remove this entry if your language does not support line comments + "lineComment": "//", + }, + // symbols used as brackets + "brackets": [ + ["{", "}"], + ["[", "]"], + ["(", ")"] + ], + // symbols that are auto closed when typing + "autoClosingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ], + // symbols that can be used to surround a selection + "surroundingPairs": [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ["\"", "\""], + ["'", "'"] + ] +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..5b45584 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "triggerreactor-vscode", + "displayName": "TriggerReactor-VSCode", + "description": "Support for TriggerReactor scripts", + "icon": "icons/TRGLogo.png", + "repository": "https://github.com/Cupelt/triggerreactor-vscode", + "version": "1.0.1-Release", + "publisher": "TriggerReactor", + "engines": { + "vscode": "*" + }, + "categories": [ + "Programming Languages" + ], + "contributes": { + "languages": [{ + "id": "TriggerReactor", + "aliases": ["TriggerReactor", "trg"], + "extensions": [".trg"], + "configuration": "./language-configuration.json", + "icon": { + "light": "./icons/TRGLogo.png", + "dark": "./icons/TRGLogo.png" + } + }], + "grammars": [{ + "language": "TriggerReactor", + "scopeName": "source.triggerreactor", + "path": "./syntaxes/TriggerReactor.tmLanguage.json" + }] + } +} diff --git a/syntaxes/triggerreactor.tmLanguage.json b/syntaxes/triggerreactor.tmLanguage.json new file mode 100644 index 0000000..ce0dd2d --- /dev/null +++ b/syntaxes/triggerreactor.tmLanguage.json @@ -0,0 +1,146 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "TriggerReactor", + "patterns": [ + { + "include": "#import" + }, + { + "include": "#executors" + }, + { + "include": "#placeholders" + }, + { + "include": "#class" + }, + { + "include": "#functions" + }, + { + "include": "#comments" + }, + { + "include": "#numbers" + }, + { + "include": "#constants-and-special-vars" + }, + { + "include": "#keywords" + }, + { + "include": "#strings" + }, + { + "include": "#variables" + } + ], + "repository": { + "keywords":{ + "patterns": [ + { + "patterns": [ + { + "name": "keyword.control.TriggerReactor", + "match": "\\b(IF|ELSE|ELSEIF|ENDIF|IS|WHILE|ENDWHILE|FOR|ENDFOR|TRY|CATCH|FINALLY|ENDTRY|LAMBDA|ENDLAMBDA)\\b" + }, + { + "name": "keyword.control.TriggerReactor", + "match": "\\b(if|else|elseif|endif|is|while|endwhile|for|endfor|try|catch|finally|endtry|lambda|endlambda)\\b" + }, + { + "name": "entity.name.namespace", + "match": "\\b(SYNC|ENDSYNC|ASYNC|ENDASYNC)\\b" + }, + { + "name": "entity.name.namespace", + "match": "\\b(sync|endsync|async|endasync)\\b" + }, + { + "name": "keyword.control.ternary.TriggerReactor", + "match": "\\?|:" + } + ] + }, + { + "name": "keyword.operator.TriggerReactor", + "match": "(===?|!=|<=|>=|<>|<|>)" + } + ] + }, + "strings": { + "name": "string.quoted.double.TriggerReactor", + "begin": "\"", + "end": "\"", + "patterns": [ + { + "name": "constant.character.escape.TriggerReactor", + "match": "\\\\." + } + ] + }, + "numbers": { + "patterns": [ + { + "match": "(?x)\n\\b(?