From 7db4412b97a0642f552ccef1aeab65e641180fdd Mon Sep 17 00:00:00 2001 From: schaeff Date: Mon, 1 Mar 2021 13:50:48 +0100 Subject: [PATCH 1/5] adjust publisher, update README --- zokrates_parser/src/textmate/.vscodeignore | 4 + zokrates_parser/src/textmate/CHANGELOG.md | 9 + zokrates_parser/src/textmate/README.md | 3 + .../src/textmate/language-configuration.json | 28 + zokrates_parser/src/textmate/package.json | 27 + .../syntaxes/zokrates.tmLanguage.json | 600 ++++++++++++++++++ .../syntaxes/zokrates.tmLanguage.yaml | 356 +++++++++++ zokrates_parser/src/textmate/test.zok | 2 + .../src/textmate/vsc-extension-quickstart.md | 29 + .../src/textmate/zokrates-0.0.1.vsix | Bin 0 -> 7040 bytes 10 files changed, 1058 insertions(+) create mode 100644 zokrates_parser/src/textmate/.vscodeignore create mode 100644 zokrates_parser/src/textmate/CHANGELOG.md create mode 100644 zokrates_parser/src/textmate/README.md create mode 100644 zokrates_parser/src/textmate/language-configuration.json create mode 100644 zokrates_parser/src/textmate/package.json create mode 100644 zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json create mode 100644 zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.yaml create mode 100644 zokrates_parser/src/textmate/test.zok create mode 100644 zokrates_parser/src/textmate/vsc-extension-quickstart.md create mode 100644 zokrates_parser/src/textmate/zokrates-0.0.1.vsix diff --git a/zokrates_parser/src/textmate/.vscodeignore b/zokrates_parser/src/textmate/.vscodeignore new file mode 100644 index 00000000..f369b5e5 --- /dev/null +++ b/zokrates_parser/src/textmate/.vscodeignore @@ -0,0 +1,4 @@ +.vscode/** +.vscode-test/** +.gitignore +vsc-extension-quickstart.md diff --git a/zokrates_parser/src/textmate/CHANGELOG.md b/zokrates_parser/src/textmate/CHANGELOG.md new file mode 100644 index 00000000..c52daaf1 --- /dev/null +++ b/zokrates_parser/src/textmate/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log + +All notable changes to the "zokrates" extension will be documented in this file. + +Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. + +## [Unreleased] + +- Initial release \ No newline at end of file diff --git a/zokrates_parser/src/textmate/README.md b/zokrates_parser/src/textmate/README.md new file mode 100644 index 00000000..54b49a14 --- /dev/null +++ b/zokrates_parser/src/textmate/README.md @@ -0,0 +1,3 @@ +# ZoKrates Syntax Highlighter + +This is a Textmate syntax highlighter for the [ZoKrates language](https://zokrates.github.io). diff --git a/zokrates_parser/src/textmate/language-configuration.json b/zokrates_parser/src/textmate/language-configuration.json new file mode 100644 index 00000000..bdf83828 --- /dev/null +++ b/zokrates_parser/src/textmate/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 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/zokrates_parser/src/textmate/package.json b/zokrates_parser/src/textmate/package.json new file mode 100644 index 00000000..ebacd5de --- /dev/null +++ b/zokrates_parser/src/textmate/package.json @@ -0,0 +1,27 @@ +{ + "name": "zokrates", + "displayName": "zokrates", + "description": "Syntax highlighting for the ZoKrates language", + "publisher": "zokrates", + "repository": "https://github.com/ZoKrates/ZoKrates", + "version": "0.0.1", + "engines": { + "vscode": "^1.53.0" + }, + "categories": [ + "Programming Languages" + ], + "contributes": { + "languages": [{ + "id": "zokrates", + "aliases": ["ZoKrates", "zokrates"], + "extensions": [".zok"], + "configuration": "./language-configuration.json" + }], + "grammars": [{ + "language": "zokrates", + "scopeName": "source.zok", + "path": "./syntaxes/zokrates.tmLanguage.json" + }] + } +} \ No newline at end of file diff --git a/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json b/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json new file mode 100644 index 00000000..bcf0d9fe --- /dev/null +++ b/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json @@ -0,0 +1,600 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "ZoKrates", + "fileTypes": [ + "zok" + ], + "scopeName": "source.zok", + "patterns": [ + { + "comment": "attributes", + "name": "meta.attribute.zokrates", + "begin": "(#)(\\!?)(\\[)", + "beginCaptures": { + "1": { + "name": "punctuation.definition.attribute.zokrates" + }, + "2": { + "name": "keyword.operator.attribute.inner.zokrates" + }, + "3": { + "name": "punctuation.brackets.attribute.zokrates" + } + }, + "end": "\\]", + "endCaptures": { + "0": { + "name": "punctuation.brackets.attribute.zokrates" + } + }, + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#lifetimes" + }, + { + "include": "#punctuation" + }, + { + "include": "#strings" + }, + { + "include": "#gtypes" + }, + { + "include": "#types" + } + ] + }, + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#constants" + }, + { + "include": "#functions" + }, + { + "include": "#types" + }, + { + "include": "#keywords" + }, + { + "include": "#punctuation" + }, + { + "include": "#strings" + }, + { + "include": "#variables" + } + ], + "repository": { + "comments": { + "patterns": [ + { + "comment": "line comments", + "name": "comment.line.double-slash.zokrates", + "match": "\\s*//.*" + } + ] + }, + "block-comments": { + "patterns": [ + { + "comment": "empty block comments", + "name": "comment.block.zokrates", + "match": "/\\*\\*/" + }, + { + "comment": "block comments", + "name": "comment.block.zokrates", + "begin": "/\\*(?!\\*)", + "end": "\\*/", + "patterns": [ + { + "include": "#block-comments" + } + ] + } + ] + }, + "constants": { + "patterns": [ + { + "comment": "ALL CAPS constants", + "name": "constant.other.caps.zokrates", + "match": "\\b[A-Z]{2}[A-Z0-9_]*\\b" + }, + { + "comment": "decimal integers and floats", + "name": "constant.numeric.decimal.zokrates", + "match": "\\b\\d[\\d_]*(u128|u16|u32|u64|u8|field)?\\b", + "captures": { + "5": { + "name": "entity.name.type.numeric.zokrates" + } + } + }, + { + "comment": "hexadecimal integers", + "name": "constant.numeric.hex.zokrates", + "match": "\\b0x[\\da-fA-F_]+\\b" + }, + { + "comment": "booleans", + "name": "constant.language.bool.zokrates", + "match": "\\b(true|false)\\b" + } + ] + }, + "imports": { + "patterns": [ + { + "comment": "explicit import statement", + "name": "meta.import.explicit.zokrates", + "match": "\\b(from)\\s+(\\\".*\\\")(import)\\s+([A-Za-z0-9_]+)\\s+((as)\\s+[A-Za-z0-9_]+)?\\b", + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#punctuation" + }, + { + "include": "#types" + }, + { + "include": "#strings" + } + ] + }, + { + "comment": "main import statement", + "name": "meta.import.explicit.zokrates", + "match": "\\b(import)\\s+(\\\".*\\\")\\s+((as)\\s+[A-Za-z0-9_]+)?\\b", + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#punctuation" + }, + { + "include": "#types" + }, + { + "include": "#strings" + } + ] + } + ] + }, + "functions": { + "patterns": [ + { + "comment": "function definition", + "name": "meta.function.definition.zokrates", + "begin": "\\b(def)\\s+([A-Za-z0-9_]+)((\\()|(<))", + "beginCaptures": { + "1": { + "name": "keyword.other.def.zokrates" + }, + "2": { + "name": "entity.name.function.zokrates" + }, + "4": { + "name": "punctuation.brackets.round.zokrates" + }, + "5": { + "name": "punctuation.brackets.angle.zokrates" + } + }, + "end": "\\:|;", + "endCaptures": { + "0": { + "name": "keyword.punctuation.colon.zokrates" + } + }, + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#constants" + }, + { + "include": "#functions" + }, + { + "include": "#punctuation" + }, + { + "include": "#strings" + }, + { + "include": "#types" + }, + { + "include": "#variables" + } + ] + }, + { + "comment": "function/method calls, chaining", + "name": "meta.function.call.zokrates", + "begin": "([A-Za-z0-9_]+)(\\()", + "beginCaptures": { + "1": { + "name": "entity.name.function.zokrates" + }, + "2": { + "name": "punctuation.brackets.round.zokrates" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.brackets.round.zokrates" + } + }, + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#constants" + }, + { + "include": "#functions" + }, + { + "include": "#punctuation" + }, + { + "include": "#strings" + }, + { + "include": "#types" + }, + { + "include": "#variables" + } + ] + }, + { + "comment": "function/method calls with turbofish", + "name": "meta.function.call.zokrates", + "begin": "([A-Za-z0-9_]+)(?=::<.*>\\()", + "beginCaptures": { + "1": { + "name": "entity.name.function.zokrates" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.brackets.round.zokrates" + } + }, + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#constants" + }, + { + "include": "#functions" + }, + { + "include": "#punctuation" + }, + { + "include": "#strings" + }, + { + "include": "#types" + }, + { + "include": "#variables" + } + ] + } + ] + }, + "keywords": { + "patterns": [ + { + "comment": "argument visibility", + "name": "keyword.visibility.zokrates", + "match": "\\b(public|private)\\b" + }, + { + "comment": "control flow keywords", + "name": "keyword.control.zokrates", + "match": "\\b(do|else|for|do|endfor|if|then|fi|return|assert)\\b" + }, + { + "comment": "storage keywords", + "name": "storage.type.zokrates", + "match": "\\b(struct)\\b" + }, + { + "comment": "def", + "name": "keyword.other.def.zokrates", + "match": "\\bdef\\b" + }, + { + "comment": "import keywords", + "name": "keyword.other.import.zokrates", + "match": "\\b(import|from|as)\\b" + }, + { + "comment": "logical operators", + "name": "keyword.operator.logical.zokrates", + "match": "(\\^|\\||\\|\\||&|&&|<<|>>|!)(?!=)" + }, + { + "comment": "single equal", + "name": "keyword.operator.assignment.equal.zokrates", + "match": "(?])=(?!=|>)" + }, + { + "comment": "comparison operators", + "name": "keyword.operator.comparison.zokrates", + "match": "(=(=)?(?!>)|!=|<=|(?=)" + }, + { + "comment": "math operators", + "name": "keyword.operator.math.zokrates", + "match": "(([+%]|(\\*(?!\\w)))(?!=))|(-(?!>))|(/(?!/))" + }, + { + "comment": "less than, greater than (special case)", + "match": "(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([<>])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))", + "captures": { + "1": { + "name": "punctuation.brackets.round.zokrates" + }, + "2": { + "name": "punctuation.brackets.square.zokrates" + }, + "3": { + "name": "punctuation.brackets.curly.zokrates" + }, + "4": { + "name": "keyword.operator.comparison.zokrates" + }, + "5": { + "name": "punctuation.brackets.round.zokrates" + }, + "6": { + "name": "punctuation.brackets.square.zokrates" + }, + "7": { + "name": "punctuation.brackets.curly.zokrates" + } + } + }, + { + "comment": "dot access", + "name": "keyword.operator.access.dot.zokrates", + "match": "\\.(?!\\.)" + }, + { + "comment": "ranges, range patterns", + "name": "keyword.operator.range.zokrates", + "match": "\\.{2}(=|\\.)?" + }, + { + "comment": "colon", + "name": "keyword.operator.colon.zokrates", + "match": ":(?!:)" + }, + { + "comment": "dashrocket, skinny arrow", + "name": "keyword.operator.arrow.skinny.zokrates", + "match": "->" + } + ] + }, + "types": { + "patterns": [ + { + "comment": "numeric types", + "match": "(?", + "endCaptures": { + "0": { + "name": "punctuation.brackets.angle.zokrates" + } + }, + "patterns": [ + { + "include": "#block-comments" + }, + { + "include": "#comments" + }, + { + "include": "#keywords" + }, + { + "include": "#punctuation" + }, + { + "include": "#types" + }, + { + "include": "#variables" + } + ] + }, + { + "comment": "primitive types", + "name": "entity.name.type.primitive.zokrates", + "match": "\\b(bool)\\b" + }, + { + "comment": "struct declarations", + "match": "\\b(struct)\\s+([A-Z][A-Za-z0-9]*)\\b", + "captures": { + "1": { + "name": "storage.type.zokrates" + }, + "2": { + "name": "entity.name.type.struct.zokrates" + } + } + }, + { + "comment": "types", + "name": "entity.name.type.zokrates", + "match": "\\b[A-Z][A-Za-z0-9]*\\b(?!!)" + } + ] + }, + "punctuation": { + "patterns": [ + { + "comment": "comma", + "name": "punctuation.comma.zokrates", + "match": "," + }, + { + "comment": "parentheses, round brackets", + "name": "punctuation.brackets.round.zokrates", + "match": "[()]" + }, + { + "comment": "square brackets", + "name": "punctuation.brackets.square.zokrates", + "match": "[\\[\\]]" + }, + { + "comment": "angle brackets", + "name": "punctuation.brackets.angle.zokrates", + "match": "(?]" + } + ] + }, + "strings": { + "patterns": [ + { + "comment": "double-quoted strings and byte strings", + "name": "string.quoted.double.zokrates", + "begin": "(b?)(\")", + "beginCaptures": { + "1": { + "name": "string.quoted.byte.raw.zokrates" + }, + "2": { + "name": "punctuation.definition.string.zokrates" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.zokrates" + } + } + }, + { + "comment": "double-quoted raw strings and raw byte strings", + "name": "string.quoted.double.zokrates", + "begin": "(b?r)(#*)(\")", + "beginCaptures": { + "1": { + "name": "string.quoted.byte.raw.zokrates" + }, + "2": { + "name": "punctuation.definition.string.raw.zokrates" + }, + "3": { + "name": "punctuation.definition.string.zokrates" + } + }, + "end": "(\")(\\2)", + "endCaptures": { + "1": { + "name": "punctuation.definition.string.zokrates" + }, + "2": { + "name": "punctuation.definition.string.raw.zokrates" + } + } + } + ] + }, + "variables": { + "patterns": [ + { + "comment": "variables", + "name": "variable.other.zokrates", + "match": "\\b(?\() + beginCaptures: + 1: + name: entity.name.function.zokrates + end: \) + endCaptures: + 0: + name: punctuation.brackets.round.zokrates + patterns: + - include: '#block-comments' + - include: '#comments' + - include: '#keywords' + - include: '#constants' + - include: '#functions' + - include: '#punctuation' + - include: '#strings' + - include: '#types' + - include: '#variables' + keywords: + patterns: + - + comment: argument visibility + name: keyword.visibility.zokrates + match: \b(public|private)\b + - + comment: control flow keywords + name: keyword.control.zokrates + match: \b(do|else|for|do|endfor|if|then|fi|return|assert)\b + - + comment: storage keywords + name: storage.type.zokrates + match: \b(struct)\b + - + comment: def + name: keyword.other.def.zokrates + match: \bdef\b + - + comment: import keywords + name: keyword.other.import.zokrates + match: \b(import|from|as)\b + - + comment: logical operators + name: keyword.operator.logical.zokrates + match: (\^|\||\|\||&|&&|<<|>>|!)(?!=) + - + comment: single equal + name: keyword.operator.assignment.equal.zokrates + match: '(?])=(?!=|>)' + - + comment: comparison operators + name: keyword.operator.comparison.zokrates + match: (=(=)?(?!>)|!=|<=|(?=) + - + comment: math operators + name: keyword.operator.math.zokrates + match: '(([+%]|(\*(?!\w)))(?!=))|(-(?!>))|(/(?!/))' + - + comment: less than, greater than (special case) + match: (?:\b|(?:(\))|(\])|(\})))[ \t]+([<>])[ \t]+(?:\b|(?:(\()|(\[)|(\{))) + captures: + 1: + name: punctuation.brackets.round.zokrates + 2: + name: punctuation.brackets.square.zokrates + 3: + name: punctuation.brackets.curly.zokrates + 4: + name: keyword.operator.comparison.zokrates + 5: + name: punctuation.brackets.round.zokrates + 6: + name: punctuation.brackets.square.zokrates + 7: + name: punctuation.brackets.curly.zokrates + - + comment: dot access + name: keyword.operator.access.dot.zokrates + match: \.(?!\.) + - + comment: ranges, range patterns + name: keyword.operator.range.zokrates + match: \.{2}(=|\.)? + - + comment: colon + name: keyword.operator.colon.zokrates + match: ':(?!:)' + - + comment: dashrocket, skinny arrow + name: keyword.operator.arrow.skinny.zokrates + match: -> + types: + patterns: + - + comment: numeric types + match: '(?' + endCaptures: + 0: + name: punctuation.brackets.angle.zokrates + patterns: + - include: '#block-comments' + - include: '#comments' + - include: '#keywords' + - include: '#punctuation' + - include: '#types' + - include: '#variables' + - + comment: primitive types + name: entity.name.type.primitive.zokrates + match: \b(bool)\b + - + comment: struct declarations + match: \b(struct)\s+([A-Z][A-Za-z0-9]*)\b + captures: + 1: + name: storage.type.zokrates + 2: + name: entity.name.type.struct.zokrates + - + comment: types + name: entity.name.type.zokrates + match: '\b[A-Z][A-Za-z0-9]*\b(?!!)' + punctuation: + patterns: + - + comment: comma + name: punctuation.comma.zokrates + match: ',' + - + comment: parentheses, round brackets + name: punctuation.brackets.round.zokrates + match: '[()]' + - + comment: square brackets + name: punctuation.brackets.square.zokrates + match: '[\[\]]' + - + comment: angle brackets + name: punctuation.brackets.angle.zokrates + match: '(?]' + strings: + patterns: + - + comment: double-quoted strings and byte strings + name: string.quoted.double.zokrates + begin: '(b?)(")' + beginCaptures: + 1: + name: string.quoted.byte.raw.zokrates + 2: + name: punctuation.definition.string.zokrates + end: '"' + endCaptures: + 0: + name: punctuation.definition.string.zokrates + - + comment: double-quoted raw strings and raw byte strings + name: string.quoted.double.zokrates + begin: '(b?r)(#*)(")' + beginCaptures: + 1: + name: string.quoted.byte.raw.zokrates + 2: + name: punctuation.definition.string.raw.zokrates + 3: + name: punctuation.definition.string.zokrates + end: '(")(\2)' + endCaptures: + 1: + name: punctuation.definition.string.zokrates + 2: + name: punctuation.definition.string.raw.zokrates + variables: + patterns: + # In order to capture variables ending ranges, but not struct field access, we match a preceding dot, only if it's preceded by at least one other dot. + # The double negation states that the pattern "must not be preceded by a dot that is not preceded by a dot." + # Attempting to match on (\.{2,})? won't work, because then struct field access can match after the dot. + - + comment: variables + name: variable.other.zokrates + match: \b(?/.vscode/extensions` folder and restart Code. +* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. diff --git a/zokrates_parser/src/textmate/zokrates-0.0.1.vsix b/zokrates_parser/src/textmate/zokrates-0.0.1.vsix new file mode 100644 index 0000000000000000000000000000000000000000..c2dd266c67a52859b0f32fd36df552557d7ccca4 GIT binary patch literal 7040 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 literal 0 HcmV?d00001 From d42ee708936ab4a9fa4655166ef0d8cb84a4359a Mon Sep 17 00:00:00 2001 From: schaeff Date: Mon, 1 Mar 2021 13:54:45 +0100 Subject: [PATCH 2/5] clean, changelog --- zokrates_parser/src/textmate/CHANGELOG.md | 8 +---- zokrates_parser/src/textmate/test.zok | 2 -- .../src/textmate/vsc-extension-quickstart.md | 29 ------------------ .../src/textmate/zokrates-0.0.1.vsix | Bin 7040 -> 0 bytes 4 files changed, 1 insertion(+), 38 deletions(-) delete mode 100644 zokrates_parser/src/textmate/test.zok delete mode 100644 zokrates_parser/src/textmate/vsc-extension-quickstart.md delete mode 100644 zokrates_parser/src/textmate/zokrates-0.0.1.vsix diff --git a/zokrates_parser/src/textmate/CHANGELOG.md b/zokrates_parser/src/textmate/CHANGELOG.md index c52daaf1..acd43540 100644 --- a/zokrates_parser/src/textmate/CHANGELOG.md +++ b/zokrates_parser/src/textmate/CHANGELOG.md @@ -1,9 +1,3 @@ -# Change Log - -All notable changes to the "zokrates" extension will be documented in this file. - -Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. - -## [Unreleased] +## [0.0.1] - 2021-03-01 - Initial release \ No newline at end of file diff --git a/zokrates_parser/src/textmate/test.zok b/zokrates_parser/src/textmate/test.zok deleted file mode 100644 index df0ee6ce..00000000 --- a/zokrates_parser/src/textmate/test.zok +++ /dev/null @@ -1,2 +0,0 @@ -def main(): - return 1 \ No newline at end of file diff --git a/zokrates_parser/src/textmate/vsc-extension-quickstart.md b/zokrates_parser/src/textmate/vsc-extension-quickstart.md deleted file mode 100644 index c78164a0..00000000 --- a/zokrates_parser/src/textmate/vsc-extension-quickstart.md +++ /dev/null @@ -1,29 +0,0 @@ -# Welcome to your VS Code Extension - -## What's in the folder - -* This folder contains all of the files necessary for your extension. -* `package.json` - this is the manifest file in which you declare your language support and define the location of the grammar file that has been copied into your extension. -* `syntaxes/zokrates.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization. -* `language-configuration.json` - this is the language configuration, defining the tokens that are used for comments and brackets. - -## Get up and running straight away - -* Make sure the language configuration settings in `language-configuration.json` are accurate. -* Press `F5` to open a new window with your extension loaded. -* Create a new file with a file name suffix matching your language. -* Verify that syntax highlighting works and that the language configuration settings are working. - -## Make changes - -* You can relaunch the extension from the debug toolbar after making changes to the files listed above. -* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. - -## Add more language features - -* To add features such as intellisense, hovers and validators check out the VS Code extenders documentation at https://code.visualstudio.com/docs - -## 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. diff --git a/zokrates_parser/src/textmate/zokrates-0.0.1.vsix b/zokrates_parser/src/textmate/zokrates-0.0.1.vsix deleted file mode 100644 index c2dd266c67a52859b0f32fd36df552557d7ccca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7040 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 From 0fdbd04d72f8cbdec87ce79df474bfae2e07361a Mon Sep 17 00:00:00 2001 From: schaeff Date: Tue, 23 Mar 2021 22:58:13 +0100 Subject: [PATCH 3/5] remove YAML file, update README --- zokrates_parser/src/textmate/README.md | 6 + .../syntaxes/zokrates.tmLanguage.yaml | 356 ------------------ 2 files changed, 6 insertions(+), 356 deletions(-) delete mode 100644 zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.yaml diff --git a/zokrates_parser/src/textmate/README.md b/zokrates_parser/src/textmate/README.md index 54b49a14..3c524a7b 100644 --- a/zokrates_parser/src/textmate/README.md +++ b/zokrates_parser/src/textmate/README.md @@ -1,3 +1,9 @@ # ZoKrates Syntax Highlighter This is a Textmate syntax highlighter for the [ZoKrates language](https://zokrates.github.io). + +## Development + +This project expect the syntax to be provided as a JSON file (see `syntaxes`). +As working with a YAML file instead is easier, it can make sense to convert to that and back. +VSCode offers a command `Convert to {JSON, YAML}-tmLanguage File` that achieves that. diff --git a/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.yaml b/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.yaml deleted file mode 100644 index 86eb3583..00000000 --- a/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.yaml +++ /dev/null @@ -1,356 +0,0 @@ -$schema: https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json -name: ZoKrates -fileTypes: - - zok -scopeName: source.zok -patterns: - - - comment: attributes - name: meta.attribute.zokrates - begin: '(#)(\!?)(\[)' - beginCaptures: - 1: - name: punctuation.definition.attribute.zokrates - 2: - name: keyword.operator.attribute.inner.zokrates - 3: - name: punctuation.brackets.attribute.zokrates - end: '\]' - endCaptures: - 0: - name: punctuation.brackets.attribute.zokrates - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#lifetimes' - - include: '#punctuation' - - include: '#strings' - - include: '#gtypes' - - include: '#types' - - include: '#block-comments' - - include: '#comments' - - include: '#constants' - - include: '#functions' - - include: '#types' - - include: '#keywords' - - include: '#punctuation' - - include: '#strings' - - include: '#variables' -repository: - comments: - patterns: - - - comment: line comments - name: comment.line.double-slash.zokrates - match: \s*//.* - block-comments: - patterns: - - - comment: empty block comments - name: comment.block.zokrates - match: /\*\*/ - - - comment: block comments - name: comment.block.zokrates - begin: /\*(?!\*) - end: \*/ - patterns: - - include: '#block-comments' - constants: - patterns: - - - comment: ALL CAPS constants - name: constant.other.caps.zokrates - match: \b[A-Z]{2}[A-Z0-9_]*\b - - - comment: decimal integers and floats - name: constant.numeric.decimal.zokrates - match: \b\d[\d_]*(u128|u16|u32|u64|u8|field)?\b - captures: - 5: - name: entity.name.type.numeric.zokrates - - - comment: hexadecimal integers - name: constant.numeric.hex.zokrates - match: \b0x[\da-fA-F_]+\b - - - comment: booleans - name: constant.language.bool.zokrates - match: \b(true|false)\b - imports: - patterns: - - - comment: explicit import statement - name: meta.import.explicit.zokrates - match: \b(from)\s+(\".*\")(import)\s+([A-Za-z0-9_]+)\s+((as)\s+[A-Za-z0-9_]+)?\b - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#punctuation' - - include: '#types' - - include: '#strings' - - - comment: main import statement - name: meta.import.explicit.zokrates - match: \b(import)\s+(\".*\")\s+((as)\s+[A-Za-z0-9_]+)?\b - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#punctuation' - - include: '#types' - - include: '#strings' - functions: - patterns: - - - comment: function definition - name: meta.function.definition.zokrates - begin: \b(def)\s+([A-Za-z0-9_]+)((\()|(<)) - beginCaptures: - 1: - name: keyword.other.def.zokrates - 2: - name: entity.name.function.zokrates - 4: - name: punctuation.brackets.round.zokrates - 5: - name: punctuation.brackets.angle.zokrates - end: \:|; - endCaptures: - 0: - name: keyword.punctuation.colon.zokrates - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#constants' - - include: '#functions' - - include: '#punctuation' - - include: '#strings' - - include: '#types' - - include: '#variables' - - - # todo: capitalized functions in most cases represent enum members or tuple structs - # separate these out and color them accordingly - # this has to be done without breaking struct scoping when the struct keyword is used: - # struct MyStruct() - # this currently highlights correctly, even with parens - comment: function/method calls, chaining - name: meta.function.call.zokrates - begin: ([A-Za-z0-9_]+)(\() - beginCaptures: - 1: - name: entity.name.function.zokrates - 2: - name: punctuation.brackets.round.zokrates - end: \) - endCaptures: - 0: - name: punctuation.brackets.round.zokrates - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#constants' - - include: '#functions' - - include: '#punctuation' - - include: '#strings' - - include: '#types' - - include: '#variables' - - - comment: function/method calls with turbofish - name: meta.function.call.zokrates - begin: ([A-Za-z0-9_]+)(?=::<.*>\() - beginCaptures: - 1: - name: entity.name.function.zokrates - end: \) - endCaptures: - 0: - name: punctuation.brackets.round.zokrates - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#constants' - - include: '#functions' - - include: '#punctuation' - - include: '#strings' - - include: '#types' - - include: '#variables' - keywords: - patterns: - - - comment: argument visibility - name: keyword.visibility.zokrates - match: \b(public|private)\b - - - comment: control flow keywords - name: keyword.control.zokrates - match: \b(do|else|for|do|endfor|if|then|fi|return|assert)\b - - - comment: storage keywords - name: storage.type.zokrates - match: \b(struct)\b - - - comment: def - name: keyword.other.def.zokrates - match: \bdef\b - - - comment: import keywords - name: keyword.other.import.zokrates - match: \b(import|from|as)\b - - - comment: logical operators - name: keyword.operator.logical.zokrates - match: (\^|\||\|\||&|&&|<<|>>|!)(?!=) - - - comment: single equal - name: keyword.operator.assignment.equal.zokrates - match: '(?])=(?!=|>)' - - - comment: comparison operators - name: keyword.operator.comparison.zokrates - match: (=(=)?(?!>)|!=|<=|(?=) - - - comment: math operators - name: keyword.operator.math.zokrates - match: '(([+%]|(\*(?!\w)))(?!=))|(-(?!>))|(/(?!/))' - - - comment: less than, greater than (special case) - match: (?:\b|(?:(\))|(\])|(\})))[ \t]+([<>])[ \t]+(?:\b|(?:(\()|(\[)|(\{))) - captures: - 1: - name: punctuation.brackets.round.zokrates - 2: - name: punctuation.brackets.square.zokrates - 3: - name: punctuation.brackets.curly.zokrates - 4: - name: keyword.operator.comparison.zokrates - 5: - name: punctuation.brackets.round.zokrates - 6: - name: punctuation.brackets.square.zokrates - 7: - name: punctuation.brackets.curly.zokrates - - - comment: dot access - name: keyword.operator.access.dot.zokrates - match: \.(?!\.) - - - comment: ranges, range patterns - name: keyword.operator.range.zokrates - match: \.{2}(=|\.)? - - - comment: colon - name: keyword.operator.colon.zokrates - match: ':(?!:)' - - - comment: dashrocket, skinny arrow - name: keyword.operator.arrow.skinny.zokrates - match: -> - types: - patterns: - - - comment: numeric types - match: '(?' - endCaptures: - 0: - name: punctuation.brackets.angle.zokrates - patterns: - - include: '#block-comments' - - include: '#comments' - - include: '#keywords' - - include: '#punctuation' - - include: '#types' - - include: '#variables' - - - comment: primitive types - name: entity.name.type.primitive.zokrates - match: \b(bool)\b - - - comment: struct declarations - match: \b(struct)\s+([A-Z][A-Za-z0-9]*)\b - captures: - 1: - name: storage.type.zokrates - 2: - name: entity.name.type.struct.zokrates - - - comment: types - name: entity.name.type.zokrates - match: '\b[A-Z][A-Za-z0-9]*\b(?!!)' - punctuation: - patterns: - - - comment: comma - name: punctuation.comma.zokrates - match: ',' - - - comment: parentheses, round brackets - name: punctuation.brackets.round.zokrates - match: '[()]' - - - comment: square brackets - name: punctuation.brackets.square.zokrates - match: '[\[\]]' - - - comment: angle brackets - name: punctuation.brackets.angle.zokrates - match: '(?]' - strings: - patterns: - - - comment: double-quoted strings and byte strings - name: string.quoted.double.zokrates - begin: '(b?)(")' - beginCaptures: - 1: - name: string.quoted.byte.raw.zokrates - 2: - name: punctuation.definition.string.zokrates - end: '"' - endCaptures: - 0: - name: punctuation.definition.string.zokrates - - - comment: double-quoted raw strings and raw byte strings - name: string.quoted.double.zokrates - begin: '(b?r)(#*)(")' - beginCaptures: - 1: - name: string.quoted.byte.raw.zokrates - 2: - name: punctuation.definition.string.raw.zokrates - 3: - name: punctuation.definition.string.zokrates - end: '(")(\2)' - endCaptures: - 1: - name: punctuation.definition.string.zokrates - 2: - name: punctuation.definition.string.raw.zokrates - variables: - patterns: - # In order to capture variables ending ranges, but not struct field access, we match a preceding dot, only if it's preceded by at least one other dot. - # The double negation states that the pattern "must not be preceded by a dot that is not preceded by a dot." - # Attempting to match on (\.{2,})? won't work, because then struct field access can match after the dot. - - - comment: variables - name: variable.other.zokrates - match: \b(? Date: Wed, 24 Mar 2021 14:22:17 +0100 Subject: [PATCH 4/5] update readme --- zokrates_parser/src/textmate/README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/zokrates_parser/src/textmate/README.md b/zokrates_parser/src/textmate/README.md index 3c524a7b..15f478b0 100644 --- a/zokrates_parser/src/textmate/README.md +++ b/zokrates_parser/src/textmate/README.md @@ -1,9 +1,13 @@ # ZoKrates Syntax Highlighter -This is a Textmate syntax highlighter for the [ZoKrates language](https://zokrates.github.io). +This is a Textmate-based syntax highlighter for the [ZoKrates language](https://zokrates.github.io) in VSCode. ## Development This project expect the syntax to be provided as a JSON file (see `syntaxes`). As working with a YAML file instead is easier, it can make sense to convert to that and back. VSCode offers a command `Convert to {JSON, YAML}-tmLanguage File` that achieves that. + +## Release process + +This extension is currently released manually to the VSCode extension marketplace. \ No newline at end of file From fccc0986436b6abcdbb5a12db0a68a9c28117020 Mon Sep 17 00:00:00 2001 From: Thibaut Schaeffer Date: Wed, 24 Mar 2021 22:37:19 +0100 Subject: [PATCH 5/5] fix field suffix --- .../src/textmate/syntaxes/zokrates.tmLanguage.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json b/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json index bcf0d9fe..3730240c 100644 --- a/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json +++ b/zokrates_parser/src/textmate/syntaxes/zokrates.tmLanguage.json @@ -122,7 +122,7 @@ { "comment": "decimal integers and floats", "name": "constant.numeric.decimal.zokrates", - "match": "\\b\\d[\\d_]*(u128|u16|u32|u64|u8|field)?\\b", + "match": "\\b\\d[\\d_]*(u128|u16|u32|u64|u8|f)?\\b", "captures": { "5": { "name": "entity.name.type.numeric.zokrates" @@ -597,4 +597,4 @@ ] } } - } \ No newline at end of file + }