From 6652a08f42b33cf992707a22db649c949e158104 Mon Sep 17 00:00:00 2001 From: Robert Bendun Date: Tue, 24 May 2022 14:13:38 +0200 Subject: [PATCH] VSCode syntax highlighting extension --- README.md | 4 ++ etc/editor/musique-vscode/.gitignore | 2 + .../language-configuration.json | 23 +++++++++++ etc/editor/musique-vscode/package.json | 31 +++++++++++++++ .../syntaxes/musique.tmLanguage.json | 39 +++++++++++++++++++ .../vsc-extension-quickstart.md | 4 ++ 6 files changed, 103 insertions(+) create mode 100644 etc/editor/musique-vscode/.gitignore create mode 100644 etc/editor/musique-vscode/language-configuration.json create mode 100644 etc/editor/musique-vscode/package.json create mode 100644 etc/editor/musique-vscode/syntaxes/musique.tmLanguage.json create mode 100644 etc/editor/musique-vscode/vsc-extension-quickstart.md diff --git a/README.md b/README.md index 7806d7d..d2a905e 100644 --- a/README.md +++ b/README.md @@ -75,3 +75,7 @@ Następnie musisz dodać ustawienie typu pliku na podstawie rozszerzenia wewnąt ```vim au BufRead,BufNewFile *.mq set filetype=musique ``` + +### Visual Studio Code + +Skopiuj katalog [etc/editor/musique-vscode](etc/editor/musique-vscode) do folderu `/.vscode/extensions` i uruchom ponownie program VSCode. diff --git a/etc/editor/musique-vscode/.gitignore b/etc/editor/musique-vscode/.gitignore new file mode 100644 index 0000000..dceac54 --- /dev/null +++ b/etc/editor/musique-vscode/.gitignore @@ -0,0 +1,2 @@ +.vscode/** +.vscode-test/** diff --git a/etc/editor/musique-vscode/language-configuration.json b/etc/editor/musique-vscode/language-configuration.json new file mode 100644 index 0000000..3f524fc --- /dev/null +++ b/etc/editor/musique-vscode/language-configuration.json @@ -0,0 +1,23 @@ +{ + "comments": { + // symbol used for single line comment. Remove this entry if your language does not support line comments + "lineComment": "--", + // symbols used for start and end a block comment. Remove this entry if your language does not support block comments + "blockComment": [ "---", "---" ] + }, + // 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/etc/editor/musique-vscode/package.json b/etc/editor/musique-vscode/package.json new file mode 100644 index 0000000..8068ac7 --- /dev/null +++ b/etc/editor/musique-vscode/package.json @@ -0,0 +1,31 @@ +{ + "name": "musique", + "displayName": "Musique Language Support", + "description": "Adds suport for Musique programming language into VSCode", + "version": "0.0.1", + "author": { + "name": "Robert Bendun", + "email": "robben@st.amu.edu.pl", + "url": "https://bendun.cc" + }, + "license": "GNU AGPLv3", + "engines": { + "vscode": "^1.67.0" + }, + "categories": [ + "Programming Languages" + ], + "contributes": { + "languages": [{ + "id": "musique", + "aliases": ["Musique", "musique"], + "extensions": [".mq"], + "configuration": "./language-configuration.json" + }], + "grammars": [{ + "language": "musique", + "scopeName": "source.musique", + "path": "./syntaxes/musique.tmLanguage.json" + }] + } +} \ No newline at end of file diff --git a/etc/editor/musique-vscode/syntaxes/musique.tmLanguage.json b/etc/editor/musique-vscode/syntaxes/musique.tmLanguage.json new file mode 100644 index 0000000..e1ed94c --- /dev/null +++ b/etc/editor/musique-vscode/syntaxes/musique.tmLanguage.json @@ -0,0 +1,39 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "Musique", + "patterns": [ + { + "include": "#keywords" + }, + { + "include": "#strings" + } + ], + "repository": { + "keywords": { + "patterns": [{ + "name": "keyword.control.musique", + "match": "\\b(var|true|false|nil)\\b" + }] + }, + "operators": { + "patterns": [{ + "name": "keyword.operator.arithmetic.musique", + "match": "(\\*|\\+|\\-|/)" + }] + }, + "builtins": { + "patterns": [{ + "name": "keyword.control.musique", + "match": "(if|play|len)" + }] + }, + "multiline-comments": { + "patterns": [{ + "name": "comment.block", + "match": "---+.*----+" + }] + } + }, + "scopeName": "source.musique" +} \ No newline at end of file diff --git a/etc/editor/musique-vscode/vsc-extension-quickstart.md b/etc/editor/musique-vscode/vsc-extension-quickstart.md new file mode 100644 index 0000000..d3ffc85 --- /dev/null +++ b/etc/editor/musique-vscode/vsc-extension-quickstart.md @@ -0,0 +1,4 @@ +# Install your extension + +* To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. +* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension.