1
0
Fork 0
mirror of synced 2025-09-24 04:40:05 +00:00

update syntax highlighter definitions

This commit is contained in:
schaeff 2022-07-27 10:56:16 +01:00
parent 53b62f568b
commit 4b5bc19a0f
5 changed files with 76 additions and 44 deletions

View file

@ -37,7 +37,7 @@ ace.define("ace/mode/zokrates_highlight_rules",["require","exports","module","ac
var ZoKratesHighlightRules = function () { var ZoKratesHighlightRules = function () {
var keywords = ( var keywords = (
"assert|as|bool|byte|const|def|do|else|endfor|export|false|field|for|if|then|fi|import|from|in|private|public|return|struct|true|type|u8|u16|u32|u64" "assert|as|bool|const|def|else|false|field|for|if|then|import|from|in|log|private|public|return|struct|true|type|u8|u16|u32|u64"
); );
var keywordMapper = this.createKeywordMapper({ var keywordMapper = this.createKeywordMapper({

View file

@ -1,36 +1,36 @@
{ {
"name": "zokrates", "name": "zokrates",
"displayName": "zokrates", "displayName": "zokrates",
"description": "Syntax highlighting for the ZoKrates language", "description": "Syntax highlighting for the ZoKrates language",
"publisher": "zokrates", "publisher": "zokrates",
"repository": "https://github.com/ZoKrates/ZoKrates", "repository": "https://github.com/ZoKrates/ZoKrates",
"version": "0.0.2", "version": "0.0.4",
"engines": { "engines": {
"vscode": "^1.53.0" "vscode": "^1.53.0"
}, },
"categories": [ "categories": [
"Programming Languages" "Programming Languages"
], ],
"contributes": { "contributes": {
"languages": [ "languages": [
{ {
"id": "zokrates", "id": "zokrates",
"aliases": [ "aliases": [
"ZoKrates", "ZoKrates",
"zokrates" "zokrates"
], ],
"extensions": [ "extensions": [
".zok" ".zok"
], ],
"configuration": "./language-configuration.json" "configuration": "./language-configuration.json"
} }
], ],
"grammars": [ "grammars": [
{ {
"language": "zokrates", "language": "zokrates",
"scopeName": "source.zok", "scopeName": "source.zok",
"path": "./syntaxes/zokrates.tmLanguage.json" "path": "./syntaxes/zokrates.tmLanguage.json"
} }
] ]
} }
} }

View file

@ -188,7 +188,7 @@
"patterns": [ "patterns": [
{ {
"comment": "constant definition", "comment": "constant definition",
"name": "constant.definition.zokrates", "name": "meta.constant.definition.zokrates",
"match": "\\b(const)\\s+([A-Za-z0-9_]+)\\s+([A-Za-z0-9_]+)\\s+=\\s+(?:.+)\\b", "match": "\\b(const)\\s+([A-Za-z0-9_]+)\\s+([A-Za-z0-9_]+)\\s+=\\s+(?:.+)\\b",
"captures": { "captures": {
"1": { "1": {
@ -388,7 +388,7 @@
{ {
"comment": "control flow keywords", "comment": "control flow keywords",
"name": "keyword.control.zokrates", "name": "keyword.control.zokrates",
"match": "\\b(do|else|for|do|endfor|if|then|fi|return|assert)\\b" "match": "\\b(for|in|if|then|else|fi|return|assert|log)\\b"
}, },
{ {
"comment": "storage keywords", "comment": "storage keywords",
@ -396,14 +396,19 @@
"match": "\\b(struct)\\b" "match": "\\b(struct)\\b"
}, },
{ {
"comment": "const", "comment": "const keyword",
"name": "keyword.other.const.zokrates", "name": "keyword.other.const.zokrates",
"match": "\\bconst\\b" "match": "\\b(const)\\b"
}, },
{ {
"comment": "def", "comment": "type keyword",
"name": "keyword.other.type.zokrates",
"match": "\\b(type)\\b"
},
{
"comment": "def keyword",
"name": "keyword.other.def.zokrates", "name": "keyword.other.def.zokrates",
"match": "\\bdef\\b" "match": "\\b(def)\\b"
}, },
{ {
"comment": "import keywords", "comment": "import keywords",
@ -415,6 +420,11 @@
"name": "keyword.operator.logical.zokrates", "name": "keyword.operator.logical.zokrates",
"match": "(\\^|\\||\\|\\||&|&&|<<|>>|!)(?!=)" "match": "(\\^|\\||\\|\\||&|&&|<<|>>|!)(?!=)"
}, },
{
"comment": "mut",
"name": "storage.modifier.mut.zokrates",
"match": "\\b(mut)\\b"
},
{ {
"comment": "single equal", "comment": "single equal",
"name": "keyword.operator.assignment.equal.zokrates", "name": "keyword.operator.assignment.equal.zokrates",
@ -559,11 +569,21 @@
"name": "punctuation.comma.zokrates", "name": "punctuation.comma.zokrates",
"match": "," "match": ","
}, },
{
"comment": "curly braces",
"name": "punctuation.brackets.curly.zokrates",
"match": "[{}]"
},
{ {
"comment": "parentheses, round brackets", "comment": "parentheses, round brackets",
"name": "punctuation.brackets.round.zokrates", "name": "punctuation.brackets.round.zokrates",
"match": "[()]" "match": "[()]"
}, },
{
"comment": "semicolon",
"name": "punctuation.semi.zokrates",
"match": ";"
},
{ {
"comment": "square brackets", "comment": "square brackets",
"name": "punctuation.brackets.square.zokrates", "name": "punctuation.brackets.square.zokrates",

View file

@ -202,7 +202,7 @@ repository:
- -
comment: 'control flow keywords' comment: 'control flow keywords'
name: keyword.control.zokrates name: keyword.control.zokrates
match: \b(for|in|do|endfor|if|then|else|fi|return|assert)\b match: \b(for|in|if|then|else|fi|return|assert|log)\b
- -
comment: 'storage keywords' comment: 'storage keywords'
name: storage.type.zokrates name: storage.type.zokrates
@ -227,6 +227,10 @@ repository:
comment: 'logical operators' comment: 'logical operators'
name: keyword.operator.logical.zokrates name: keyword.operator.logical.zokrates
match: '(\^|\||\|\||&|&&|<<|>>|!)(?!=)' match: '(\^|\||\|\||&|&&|<<|>>|!)(?!=)'
-
comment: 'mut'
name: "storage.modifier.mut.zokrates"
match: \b(mut)\b
- -
comment: 'single equal' comment: 'single equal'
name: keyword.operator.assignment.equal.zokrates name: keyword.operator.assignment.equal.zokrates
@ -309,10 +313,18 @@ repository:
comment: comma comment: comma
name: punctuation.comma.zokrates name: punctuation.comma.zokrates
match: ',' match: ','
-
comment: 'curly braces'
name: punctuation.brackets.curly.zokrates
match: '[{}]'
- -
comment: 'parentheses, round brackets' comment: 'parentheses, round brackets'
name: punctuation.brackets.round.zokrates name: punctuation.brackets.round.zokrates
match: '[()]' match: '[()]'
-
comment: 'semicolon'
name: punctuation.semi.zokrates
match: ';'
- -
comment: 'square brackets' comment: 'square brackets'
name: punctuation.brackets.square.zokrates name: punctuation.brackets.square.zokrates

View file

@ -180,6 +180,6 @@ COMMENT = _{ ("/*" ~ (!"*/" ~ ANY)* ~ "*/") | ("//" ~ (!NEWLINE ~ ANY)*) }
// the ordering of reserved keywords matters: if "as" is before "assert", then "assert" gets parsed as (as)(sert) and incorrectly // the ordering of reserved keywords matters: if "as" is before "assert", then "assert" gets parsed as (as)(sert) and incorrectly
// accepted // accepted
keyword = @{ keyword = @{
"log"|"assert"|"as"|"bool"|"const"|"def"|"else"|"false"|"field"|"for"|"if"|"then"|"fi"|"import"|"from"| "log"|"assert"|"as"|"bool"|"const"|"def"|"else"|"false"|"field"|"for"|"if"|"then"|"import"|"from"|
"in"|"mut"|"private"|"public"|"return"|"struct"|"true"|"u8"|"u16"|"u32"|"u64" "in"|"mut"|"private"|"public"|"return"|"struct"|"true"|"u8"|"u16"|"u32"|"u64"
} }