diff --git a/Syntaxes/Zig.YAML-tmLanguage b/Syntaxes/Zig.YAML-tmLanguage deleted file mode 100644 index ccce12c..0000000 --- a/Syntaxes/Zig.YAML-tmLanguage +++ /dev/null @@ -1,384 +0,0 @@ -# [PackageDev] target_format: plist, ext: tmLanguage -# [PackageDev] target_format: json, ext: tmLanguage.json - -name: Zig -uuid: 06C2FF99-3080-441A-9019-460C51E93116 -scopeName: source.zig -fileTypes: - - zig - -patterns: - - include: '#dummy_main' - -repository: - character_escapes: - patterns: - - name: constant.character.escape.newline.zig - match: \\n - - name: constant.character.escape.carrigereturn.zig - match: \\r - - name: constant.character.escape.tabulator.zig - match: \\t - - name: constant.character.escape.backslash.zig - match: \\\\ - - name: constant.character.escape.single-quote.zig - match: \\' - - name: constant.character.escape.double-quote.zig - match: \\\" - - name: constant.character.escape.hexidecimal.zig - match: \\x[a-fA-F\d]{2} - - name: constant.character.escape.hexidecimal.zig - match: \\u\{[a-fA-F\d]{1,6}\} - - param_list: - begin: '([a-zA-Z_]\w*|@\".+\")\s*(:)\s*' - beginCaptures: - '1': - name: variable.parameter.zig - '2': - name: punctuation.separator.zig - - end: '([a-zA-Z_][\w.]*|@\".+\")?\s*(?:(,)|(\)))' - endCaptures: - '1': - name: storage.type.zig - '2': - name: punctuation.separator.zig - '3': - name: punctuation.section.parens.end.zig - - patterns: - - include: '#dummy_main' - - - match: '([a-zA-Z_][\w.]*|@\".+\")' - name: storage.type.zig - - field_decl: - begin: '([a-zA-Z_]\w*|@\".+\")\s*(:)\s*' - beginCaptures: - '1': - name: variable.other.member.zig - '2': - name: punctuation.separator.zig - - end: '([a-zA-Z_][\w.]*|@\".+\")?\s*(?:(,)|(=)|$)' - endCaptures: - '1': - name: storage.type.zig - '2': - name: punctuation.separator.zig - '3': - name: keyword.operator.assignment.zig - - patterns: - - include: '#dummy_main' - - storage_modifier: - name: storage.modifier.zig - match: '\b(const|var|extern|packed|export|pub|noalias|inline|noinline|comptime|volatile|align|linksection|threadlocal|allowzero)\b' - - container_decl: - patterns: - - match: '\b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:union)\s*[(\{])' - name: entity.name.union.zig - - - match: '\b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:struct)\s*[(\{])' - name: entity.name.struct.zig - - - match: '\b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:enum)\s*[(\{])' - name: entity.name.enum.zig - - - match: '\b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:error)\s*[(\{])' - name: entity.name.error.zig - - - match: '\b(error)(\.)([a-zA-Z_]\w*|@\".+\")' - captures: - '1': - name: storage.type.error.zig - '2': - name: punctuation.accessor.zig - '3': - name: entity.name.error.zig - - constants: - patterns: - - name: constant.language.zig - match: '\b(null|undefined|true|false)\b' - - - name: constant.numeric.integer.zig - match: '\b(?|<)=?)' - - - name: keyword.operator.word.zig - match: '\b(and|or)\b' - - - name: keyword.operator.assignment.zig - match: '((?:(?:\+|-|\*)\%?|/|%|<<|>>|&|\|(?=[^\|])|\^)?=)' - - - name: keyword.operator.arithmetic.zig - match: '((?:\+|-|\*)\%?|/(?!/)|%)' - - - name: keyword.operator.bitwise.zig - match: '(<<|>>|&(?=[a-zA-Z_]|@\")|\|(?=[^\|])|\^|~)' - - - name: keyword.operator.other.zig - match: '(\+\+|\*\*|->|\.\?|\.\*|&(?=[a-zA-Z_]|@\")|\?|\|\||\.{2,3})' - - support: - name: support.function.zig - match: '(?)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())?' - captures: - '1': - name: storage.type.zig - '2': - name: keyword.operator.zig - '3': - name: storage.type.zig - - - name: storage.type.function.zig - match: '\bfn\b' - - - name: storage.type.test.zig - match: '\btest\b' - - - name: storage.type.struct.zig - match: '\bstruct\b' - - - name: storage.type.enum.zig - match: '\benum\b' - - - name: storage.type.union.zig - match: '\bunion\b' - - - name: storage.type.error.zig - match: '\berror\b' - - punctuation: - patterns: - - name: punctuation.separator.zig - match: ',' - - - name: punctuation.terminator.zig - match: ';' - - - match: '(\()' - name: punctuation.section.parens.begin.zig - - - match: '(\))' - name: punctuation.section.parens.end.zig - - label: - match: '\b(break|continue)\s*:\s*([a-zA-Z_]\w*|@\".+\")\b|\b(?!\d)([a-zA-Z_]\w*|@\".+\")\b(?=\s*:\s*(?:\{|while\b))' - captures: - '1': - name: keyword.control.zig - '2': - name: entity.name.label.zig - '3': - name: entity.name.label.zig - - block: - begin: '([a-zA-Z_][\w.]*|@\".+\")?\s*(\{)' - beginCaptures: - '1': - name: storage.type.zig - '2': - name: punctuation.section.braces.begin.zig - - end: '(\})' - endCaptures: - '1': - name: punctuation.section.braces.end.zig - - patterns: - - include: '#dummy_main' - - function_def: - begin: '(?<=fn)\s+([a-zA-Z_]\w*|@\".+\")(\()' - beginCaptures: - '1': - name: entity.name.function - '2': - name: punctuation.section.parens.begin.zig - - end: '(?<=\)[^\)])\s*([a-zA-Z_][\w.]*|@\".+\")?(!)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())?' - endCaptures: - '1': - name: storage.type.zig - '2': - name: keyword.operator.zig - '3': - name: storage.type.zig - - patterns: - - include: '#label' - - include: '#param_list' - - - match: '([a-zA-Z_][\w.]*|@\".+\")' - name: storage.type.zig - - - include: '#dummy_main' - - function_call: - name: variable.function.zig - match: '(?])' - name: constant.language.enum - - variables: - name: meta.variable.zig - patterns: - - match: '\b[_A-Z][_A-Z0-9]+\b' - name: variable.constant.zig - - - match: '\b[_a-zA-Z][_a-zA-Z0-9]*_t\b' - name: entity.name.type.zig - - - match: '\b[A-Z][a-zA-Z0-9]*\b' - name: entity.name.type.zig - - - match: '\b[_a-zA-Z][_a-zA-Z0-9]*\b' - name: variable.zig - - dummy_main: - patterns: - - include: '#label' - - include: '#function_type' - - include: '#punctuation' - - include: '#storage_modifier' - - include: '#container_decl' - - include: '#constants' - - include: '#comments' - - include: '#strings' - - include: '#storage' - - include: '#keywords' - - include: '#operators' - - include: '#support' - - include: '#field_decl' - - include: '#block' - - include: '#function_def' - - include: '#function_call' - - include: '#enum_literal' - - include: '#variables' diff --git a/Syntaxes/Zig.tmLanguage b/Syntaxes/Zig.tmLanguage deleted file mode 100644 index 5245d69..0000000 --- a/Syntaxes/Zig.tmLanguage +++ /dev/null @@ -1,882 +0,0 @@ - - - - - fileTypes - - zig - - keyEquivalent - ^~Z - name - Zig - patterns - - - include - #dummy_main - - - repository - - block - - begin - ([a-zA-Z_][\w.]*|@\".+\")?\s*(\{) - beginCaptures - - 1 - - name - storage.type.zig - - 2 - - name - punctuation.section.braces.begin.zig - - - end - (\}) - endCaptures - - 1 - - name - punctuation.section.braces.end.zig - - - patterns - - - include - #dummy_main - - - - character_escapes - - patterns - - - match - \\n - name - constant.character.escape.newline.zig - - - match - \\r - name - constant.character.escape.carrigereturn.zig - - - match - \\t - name - constant.character.escape.tabulator.zig - - - match - \\\\ - name - constant.character.escape.backslash.zig - - - match - \\' - name - constant.character.escape.single-quote.zig - - - match - \\\" - name - constant.character.escape.double-quote.zig - - - match - \\x[a-fA-F\d]{2} - name - constant.character.escape.hexidecimal.zig - - - match - \\u\{[a-fA-F\d]{1,6}\} - name - constant.character.escape.hexidecimal.zig - - - - comments - - patterns - - - begin - /// - end - $\n? - name - comment.line.documentation.zig - - - begin - //[^/]\s*TODO - end - $\n? - name - comment.line.todo.zig - - - begin - //[^/]* - end - $\n? - name - comment.line.zig - - - - constants - - patterns - - - match - \b(null|undefined|true|false)\b - name - constant.language.zig - - - match - \b(?<!\.)(-?[\d_]+)(?!\.)\b - name - constant.numeric.integer.zig - - - match - \b(?<!\.)(0x[a-fA-F\d_]+)(?!\.)\b - name - constant.numeric.integer.hexadecimal.zig - - - match - \b(?<!\.)(0o[0-7_]+)(?!\.)\b - name - constant.numeric.integer.octal.zig - - - match - \b(?<!\.)(0b[01_]+)(?!\.)\b - name - constant.numeric.integer.binary.zig - - - match - (?<!\.)(-?\b[\d_]+(?:\.[\d_]+)?(?:[eE][+-]?[\d_]+)?)(?!\.)\b - name - constant.numeric.float.zig - - - match - (?<!\.)(-?\b0x[a-fA-F\d_]+(?:\.[a-fA-F\d_]+)?[pP]?(?:[+-]?[\d_]+)?)(?!\.)\b - name - constant.numeric.float.hexadecimal.zig - - - - container_decl - - patterns - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:union)\s*[(\{]) - name - entity.name.union.zig - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:struct)\s*[(\{]) - name - entity.name.struct.zig - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:enum)\s*[(\{]) - name - entity.name.enum.zig - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:error)\s*[(\{]) - name - entity.name.error.zig - - - captures - - 1 - - name - storage.type.error.zig - - 2 - - name - punctuation.accessor.zig - - 3 - - name - entity.name.error.zig - - - match - \b(error)(\.)([a-zA-Z_]\w*|@\".+\") - - - - dummy_main - - patterns - - - include - #label - - - include - #function_type - - - include - #punctuation - - - include - #storage_modifier - - - include - #container_decl - - - include - #constants - - - include - #comments - - - include - #strings - - - include - #storage - - - include - #keywords - - - include - #operators - - - include - #support - - - include - #field_decl - - - include - #block - - - include - #function_def - - - include - #function_call - - - include - #enum_literal - - - include - #variables - - - - enum_literal - - match - (?<!\w|\)|\?|\}|\]|\*)(\.(?:[a-zA-Z_]\w*\b|@\"[^\"]*\"))(?!\(|\s*=[^=>]) - name - constant.language.enum - - field_decl - - begin - ([a-zA-Z_]\w*|@\".+\")\s*(:)\s* - beginCaptures - - 1 - - name - variable.other.member.zig - - 2 - - name - punctuation.separator.zig - - - end - ([a-zA-Z_][\w.]*|@\".+\")?\s*(?:(,)|(=)|$) - endCaptures - - 1 - - name - storage.type.zig - - 2 - - name - punctuation.separator.zig - - 3 - - name - keyword.operator.assignment.zig - - - patterns - - - include - #dummy_main - - - - function_call - - match - (?<!fn)\b([a-zA-Z_]\w*|@\".+\")(?=\s*\() - name - variable.function.zig - - function_def - - begin - (?<=fn)\s+([a-zA-Z_]\w*|@\".+\")(\() - beginCaptures - - 1 - - name - entity.name.function - - 2 - - name - punctuation.section.parens.begin.zig - - - end - (?<=\)[^\)])\s*([a-zA-Z_][\w.]*|@\".+\")?(!)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())? - endCaptures - - 1 - - name - storage.type.zig - - 2 - - name - keyword.operator.zig - - 3 - - name - storage.type.zig - - - patterns - - - include - #label - - - include - #param_list - - - match - ([a-zA-Z_][\w.]*|@\".+\") - name - storage.type.zig - - - include - #dummy_main - - - - function_type - - begin - \b(fn)\s*(\() - beginCaptures - - 1 - - name - storage.type.function.zig - - 2 - - name - punctuation.section.parens.begin.zig - - - contentName - meta.function.parameters.zig - end - (?<=\)|\})\s*([a-zA-Z_][\w.]*|@\".+\")?\s*(!)?\s*([a-zA-Z_][\w.]*|@\".+\") - endCaptures - - 1 - - name - storage.type.zig - - 2 - - name - keyword.operator.zig - - 3 - - name - storage.type.zig - - - patterns - - - include - #label - - - include - #param_list - - - match - ([a-zA-Z_][\w.]*|@\".+\") - name - storage.type.zig - - - include - #dummy_main - - - - keywords - - patterns - - - match - \b(while|for|break|return|continue|asm|defer|errdefer|unreachable)\b - name - keyword.control.zig - - - match - \b(async|await|suspend|nosuspend|resume)\b - name - keyword.control.async.zig - - - match - \b(if|else|switch|try|catch|orelse)\b - name - keyword.control.conditional.zig - - - match - (?<!\w)(@import|@cImport|@cInclude)\b - name - keyword.control.import.zig - - - match - \b(usingnamespace)\b - name - keyword.other.usingnamespace.zig - - - - label - - captures - - 1 - - name - keyword.control.zig - - 2 - - name - entity.name.label.zig - - 3 - - name - entity.name.label.zig - - - match - \b(break|continue)\s*:\s*([a-zA-Z_]\w*|@\".+\")\b|\b(?!\d)([a-zA-Z_]\w*|@\".+\")\b(?=\s*:\s*(?:\{|while\b)) - - operators - - patterns - - - match - \b!\b - name - keyword.operator.zig - - - match - (==|(?:!|>|<)=?) - name - keyword.operator.logical.zig - - - match - \b(and|or)\b - name - keyword.operator.word.zig - - - match - ((?:(?:\+|-|\*)\%?|/|%|<<|>>|&|\|(?=[^\|])|\^)?=) - name - keyword.operator.assignment.zig - - - match - ((?:\+|-|\*)\%?|/(?!/)|%) - name - keyword.operator.arithmetic.zig - - - match - (<<|>>|&(?=[a-zA-Z_]|@\")|\|(?=[^\|])|\^|~) - name - keyword.operator.bitwise.zig - - - match - (\+\+|\*\*|->|\.\?|\.\*|&(?=[a-zA-Z_]|@\")|\?|\|\||\.{2,3}) - name - keyword.operator.other.zig - - - - param_list - - begin - ([a-zA-Z_]\w*|@\".+\")\s*(:)\s* - beginCaptures - - 1 - - name - variable.parameter.zig - - 2 - - name - punctuation.separator.zig - - - end - ([a-zA-Z_][\w.]*|@\".+\")?\s*(?:(,)|(\))) - endCaptures - - 1 - - name - storage.type.zig - - 2 - - name - punctuation.separator.zig - - 3 - - name - punctuation.section.parens.end.zig - - - patterns - - - include - #dummy_main - - - match - ([a-zA-Z_][\w.]*|@\".+\") - name - storage.type.zig - - - - punctuation - - patterns - - - match - , - name - punctuation.separator.zig - - - match - ; - name - punctuation.terminator.zig - - - match - (\() - name - punctuation.section.parens.begin.zig - - - match - (\)) - name - punctuation.section.parens.end.zig - - - - storage - - patterns - - - match - \b(bool|void|noreturn|type|anyerror|anytype)\b - name - storage.type.zig - - - match - \b(?<!\.)([iu]\d+|[iu]size|comptime_int)\b - name - storage.type.integer.zig - - - match - \b(f16|f32|f64|f128|comptime_float)\b - name - storage.type.float.zig - - - match - \b(c_short|c_ushort|c_int|c_uint|c_long|c_ulong|c_longlong|c_ulonglong|c_longdouble|c_void)\b - name - storage.type.c_compat.zig - - - captures - - 1 - - name - storage.type.zig - - 2 - - name - keyword.operator.zig - - 3 - - name - storage.type.zig - - - match - \b(anyframe)\b\s*(->)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())? - - - match - \bfn\b - name - storage.type.function.zig - - - match - \btest\b - name - storage.type.test.zig - - - match - \bstruct\b - name - storage.type.struct.zig - - - match - \benum\b - name - storage.type.enum.zig - - - match - \bunion\b - name - storage.type.union.zig - - - match - \berror\b - name - storage.type.error.zig - - - - storage_modifier - - match - \b(const|var|extern|packed|export|pub|noalias|inline|noinline|comptime|volatile|align|linksection|threadlocal|allowzero)\b - name - storage.modifier.zig - - strings - - patterns - - - begin - \' - end - \' - name - string.quoted.single.zig - patterns - - - include - #character_escapes - - - match - \\[^\'][^\']*? - name - invalid.illegal.character.zig - - - - - begin - c?\" - end - \" - name - string.quoted.double.zig - patterns - - - include - #character_escapes - - - match - \\[^\'][^\']*? - name - invalid.illegal.character.zig - - - - - begin - c?\\\\ - end - $\n? - name - string.quoted.other.zig - - - - support - - match - (?<!\w)@[^\"\d][a-zA-Z_]\w*\b - name - support.function.zig - - variables - - name - meta.variable.zig - patterns - - - match - \b[_A-Z][_A-Z0-9]+\b - name - variable.constant.zig - - - match - \b[_a-zA-Z][_a-zA-Z0-9]*_t\b - name - entity.name.type.zig - - - match - \b[A-Z][a-zA-Z0-9]*\b - name - entity.name.type.zig - - - match - \b[_a-zA-Z][_a-zA-Z0-9]*\b - name - variable.zig - - - - - scopeName - source.zig - uuid - 06C2FF99-3080-441A-9019-460C51E93116 - - diff --git a/Syntaxes/Zig.tmLanguage.json b/Syntaxes/Zig.tmLanguage.json deleted file mode 100644 index 975b9b8..0000000 --- a/Syntaxes/Zig.tmLanguage.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "scopeName": "source.zig", - "fileTypes": [ - "zig" - ], - "uuid": "06C2FF99-3080-441A-9019-460C51E93116", - "patterns": [ - { - "include": "#dummy_main" - } - ], - "repository": { - "operators": { - "patterns": [ - { - "match": "\\b!\\b", - "name": "keyword.operator.zig" - }, - { - "match": "(==|(?:!|>|<)=?)", - "name": "keyword.operator.logical.zig" - }, - { - "match": "\\b(and|or)\\b", - "name": "keyword.operator.word.zig" - }, - { - "match": "((?:(?:\\+|-|\\*)\\%?|/|%|<<|>>|&|\\|(?=[^\\|])|\\^)?=)", - "name": "keyword.operator.assignment.zig" - }, - { - "match": "((?:\\+|-|\\*)\\%?|/(?!/)|%)", - "name": "keyword.operator.arithmetic.zig" - }, - { - "match": "(<<|>>|&(?=[a-zA-Z_]|@\\\")|\\|(?=[^\\|])|\\^|~)", - "name": "keyword.operator.bitwise.zig" - }, - { - "match": "(\\+\\+|\\*\\*|->|\\.\\?|\\.\\*|&(?=[a-zA-Z_]|@\\\")|\\?|\\|\\||\\.{2,3})", - "name": "keyword.operator.other.zig" - } - ] - }, - "support": { - "match": "(?)?\\s*(?:([a-zA-Z_][\\w.]*|@\\\".+\\\")\\b(?!\\s*\\())?" - }, - { - "match": "\\bfn\\b", - "name": "storage.type.function.zig" - }, - { - "match": "\\btest\\b", - "name": "storage.type.test.zig" - }, - { - "match": "\\bstruct\\b", - "name": "storage.type.struct.zig" - }, - { - "match": "\\benum\\b", - "name": "storage.type.enum.zig" - }, - { - "match": "\\bunion\\b", - "name": "storage.type.union.zig" - }, - { - "match": "\\berror\\b", - "name": "storage.type.error.zig" - } - ] - }, - "enum_literal": { - "match": "(?])", - "name": "constant.language.enum" - }, - "character_escapes": { - "patterns": [ - { - "match": "\\\\n", - "name": "constant.character.escape.newline.zig" - }, - { - "match": "\\\\r", - "name": "constant.character.escape.carrigereturn.zig" - }, - { - "match": "\\\\t", - "name": "constant.character.escape.tabulator.zig" - }, - { - "match": "\\\\\\\\", - "name": "constant.character.escape.backslash.zig" - }, - { - "match": "\\\\'", - "name": "constant.character.escape.single-quote.zig" - }, - { - "match": "\\\\\\\"", - "name": "constant.character.escape.double-quote.zig" - }, - { - "match": "\\\\x[a-fA-F\\d]{2}", - "name": "constant.character.escape.hexidecimal.zig" - }, - { - "match": "\\\\u\\{[a-fA-F\\d]{1,6}\\}", - "name": "constant.character.escape.hexidecimal.zig" - } - ] - }, - "param_list": { - "begin": "([a-zA-Z_]\\w*|@\\\".+\\\")\\s*(:)\\s*", - "patterns": [ - { - "include": "#dummy_main" - }, - { - "match": "([a-zA-Z_][\\w.]*|@\\\".+\\\")", - "name": "storage.type.zig" - } - ], - "beginCaptures": { - "2": { - "name": "punctuation.separator.zig" - }, - "1": { - "name": "variable.parameter.zig" - } - }, - "end": "([a-zA-Z_][\\w.]*|@\\\".+\\\")?\\s*(?:(,)|(\\)))", - "endCaptures": { - "3": { - "name": "punctuation.section.parens.end.zig" - }, - "2": { - "name": "punctuation.separator.zig" - }, - "1": { - "name": "storage.type.zig" - } - } - }, - "field_decl": { - "begin": "([a-zA-Z_]\\w*|@\\\".+\\\")\\s*(:)\\s*", - "patterns": [ - { - "include": "#dummy_main" - } - ], - "beginCaptures": { - "2": { - "name": "punctuation.separator.zig" - }, - "1": { - "name": "variable.other.member.zig" - } - }, - "end": "([a-zA-Z_][\\w.]*|@\\\".+\\\")?\\s*(?:(,)|(=)|$)", - "endCaptures": { - "3": { - "name": "keyword.operator.assignment.zig" - }, - "2": { - "name": "punctuation.separator.zig" - }, - "1": { - "name": "storage.type.zig" - } - } - }, - "block": { - "begin": "([a-zA-Z_][\\w.]*|@\\\".+\\\")?\\s*(\\{)", - "patterns": [ - { - "include": "#dummy_main" - } - ], - "beginCaptures": { - "2": { - "name": "punctuation.section.braces.begin.zig" - }, - "1": { - "name": "storage.type.zig" - } - }, - "end": "(\\})", - "endCaptures": { - "1": { - "name": "punctuation.section.braces.end.zig" - } - } - }, - "label": { - "captures": { - "3": { - "name": "entity.name.label.zig" - }, - "2": { - "name": "entity.name.label.zig" - }, - "1": { - "name": "keyword.control.zig" - } - }, - "match": "\\b(break|continue)\\s*:\\s*([a-zA-Z_]\\w*|@\\\".+\\\")\\b|\\b(?!\\d)([a-zA-Z_]\\w*|@\\\".+\\\")\\b(?=\\s*:\\s*(?:\\{|while\\b))" - }, - "storage_modifier": { - "match": "\\b(const|var|extern|packed|export|pub|noalias|inline|noinline|comptime|volatile|align|linksection|threadlocal|allowzero)\\b", - "name": "storage.modifier.zig" - }, - "punctuation": { - "patterns": [ - { - "match": ",", - "name": "punctuation.separator.zig" - }, - { - "match": ";", - "name": "punctuation.terminator.zig" - }, - { - "match": "(\\()", - "name": "punctuation.section.parens.begin.zig" - }, - { - "match": "(\\))", - "name": "punctuation.section.parens.end.zig" - } - ] - }, - "function_def": { - "begin": "(?<=fn)\\s+([a-zA-Z_]\\w*|@\\\".+\\\")(\\()", - "patterns": [ - { - "include": "#label" - }, - { - "include": "#param_list" - }, - { - "match": "([a-zA-Z_][\\w.]*|@\\\".+\\\")", - "name": "storage.type.zig" - }, - { - "include": "#dummy_main" - } - ], - "beginCaptures": { - "2": { - "name": "punctuation.section.parens.begin.zig" - }, - "1": { - "name": "entity.name.function" - } - }, - "end": "(?<=\\)[^\\)])\\s*([a-zA-Z_][\\w.]*|@\\\".+\\\")?(!)?\\s*(?:([a-zA-Z_][\\w.]*|@\\\".+\\\")\\b(?!\\s*\\())?", - "endCaptures": { - "3": { - "name": "storage.type.zig" - }, - "2": { - "name": "keyword.operator.zig" - }, - "1": { - "name": "storage.type.zig" - } - } - }, - "constants": { - "patterns": [ - { - "match": "\\b(null|undefined|true|false)\\b", - "name": "constant.language.zig" - }, - { - "match": "\\b(?|<)=?)' - - - name: keyword.operator.word.zon - match: '\b(and|or)\b' - - - name: keyword.operator.assignment.zon - match: '((?:(?:\+|-|\*)\%?|/|%|<<|>>|\|(?=[^\|])|\^)?=)' - - - name: keyword.operator.arithmetic.zon - match: '((?:\+|-|\*)\%?|/(?!/)|%)' - - - name: keyword.operator.bitwise.zon - match: '(<<|>>|\|(?=[^\|])|\^|~)' - - - name: keyword.operator.other.zon - match: '(\+\+|\*\*|->|\.\?|\.\*|\?|\|\||\.{2,3})' - - support: - name: support.function.zon - match: '(?)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())?' - captures: - '1': - name: storage.type.zon - '2': - name: keyword.operator.zon - '3': - name: storage.type.zon - - - name: storage.type.function.zon - match: '\bfn\b' - - - name: storage.type.test.zon - match: '\btest\b' - - - name: storage.type.struct.zon - match: '\bstruct\b' - - - name: storage.type.enum.zon - match: '\benum\b' - - - name: storage.type.union.zon - match: '\bunion\b' - - - name: storage.type.error.zon - match: '\berror\b' - - punctuation: - patterns: - - name: punctuation.separator.zon - match: ',' - - - name: punctuation.terminator.zon - match: ';' - - - match: '(\()' - name: punctuation.section.parens.begin.zon - - - match: '(\))' - name: punctuation.section.parens.end.zon - - label: - match: '\b(break|continue)\s*:\s*([a-zA-Z_]\w*|@\".+\")\b|\b(?!\d)([a-zA-Z_]\w*|@\".+\")\b(?=\s*:\s*(?:\{|while\b))' - captures: - '1': - name: keyword.control.zon - '2': - name: entity.name.label.zon - '3': - name: entity.name.label.zon - - block: - begin: '([a-zA-Z_][\w.]*|@\".+\")?\s*(\{)' - beginCaptures: - '1': - name: storage.type.zon - '2': - name: punctuation.section.braces.begin.zon - - end: '(\})' - endCaptures: - '1': - name: punctuation.section.braces.end.zon - - patterns: - - include: '#dummy_main' - - function_def: - begin: '(?<=fn)\s+([a-zA-Z_]\w*|@\".+\")(\()' - beginCaptures: - '1': - name: entity.name.function - '2': - name: punctuation.section.parens.begin.zon - - end: '(?<=\)[^\)])\s*([a-zA-Z_][\w.]*|@\".+\")?(!)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())?' - endCaptures: - '1': - name: storage.type.zon - '2': - name: keyword.operator.zon - '3': - name: storage.type.zon - - patterns: - - include: '#label' - - include: '#param_list' - - - match: '([a-zA-Z_][\w.]*|@\".+\")' - name: storage.type.zon - - - include: '#dummy_main' - - function_call: - name: variable.function.zon - match: '(?])' - name: constant.language.enum - - variables: - name: meta.variable.zon - patterns: - - match: '\b[_A-Z][_A-Z0-9]+\b' - name: variable.constant.zon - - - match: '\b[_a-zA-Z][_a-zA-Z0-9]*_t\b' - name: entity.name.type.zon - - - match: '\b[A-Z][a-zA-Z0-9]*\b' - name: entity.name.type.zon - - - match: '\b[_a-zA-Z][_a-zA-Z0-9]*\b' - name: variable.zon - - dummy_main: - patterns: - - include: '#label' - - include: '#function_type' - - include: '#punctuation' - - include: '#storage_modifier' - - include: '#container_decl' - - include: '#constants' - - include: '#comments' - - include: '#strings' - - include: '#storage' - - include: '#keywords' - - include: '#operators' - - include: '#support' - - include: '#field_decl' - - include: '#block' - - include: '#function_def' - - include: '#function_call' - - include: '#enum_literal' - - include: '#variables' diff --git a/Syntaxes/Zon.tmLanguage b/Syntaxes/Zon.tmLanguage deleted file mode 100644 index b6e71d6..0000000 --- a/Syntaxes/Zon.tmLanguage +++ /dev/null @@ -1,892 +0,0 @@ - - - - - fileTypes - - zon - - name - Zon - patterns - - - include - #dummy_main - - - repository - - block - - begin - ([a-zA-Z_][\w.]*|@\".+\")?\s*(\{) - beginCaptures - - 1 - - name - storage.type.zon - - 2 - - name - punctuation.section.braces.begin.zon - - - end - (\}) - endCaptures - - 1 - - name - punctuation.section.braces.end.zon - - - patterns - - - include - #dummy_main - - - - character_escapes - - patterns - - - match - \\n - name - constant.character.escape.newline.zon - - - match - \\r - name - constant.character.escape.carrigereturn.zon - - - match - \\t - name - constant.character.escape.tabulator.zon - - - match - \\\\ - name - constant.character.escape.backslash.zon - - - match - \\' - name - constant.character.escape.single-quote.zon - - - match - \\\" - name - constant.character.escape.double-quote.zon - - - match - \\x[a-fA-F\d]{2} - name - constant.character.escape.hexidecimal.zon - - - match - \\u\{[a-fA-F\d]{1,6}\} - name - constant.character.escape.hexidecimal.zon - - - - comments - - patterns - - - begin - /// - end - $\n? - name - comment.line.documentation.zon - - - begin - //[^/]\s*TODO - end - $\n? - name - comment.line.todo.zon - - - begin - //[^/]* - end - $\n? - name - comment.line.zon - - - - constants - - patterns - - - match - \b(null|undefined|true|false)\b - name - constant.language.zon - - - match - \b(?<!\.)(-?[\d_]+)(?!\.)\b - name - constant.numeric.integer.zon - - - match - \b(?<!\.)(0x[a-fA-F\d_]+)(?!\.)\b - name - constant.numeric.integer.hexadecimal.zon - - - match - \b(?<!\.)(0o[0-7_]+)(?!\.)\b - name - constant.numeric.integer.octal.zon - - - match - \b(?<!\.)(0b[01_]+)(?!\.)\b - name - constant.numeric.integer.binary.zon - - - match - (?<!\.)(-?\b[\d_]+(?:\.[\d_]+)?(?:[eE][+-]?[\d_]+)?)(?!\.)\b - name - constant.numeric.float.zon - - - match - (?<!\.)(-?\b0x[a-fA-F\d_]+(?:\.[a-fA-F\d_]+)?[pP]?(?:[+-]?[\d_]+)?)(?!\.)\b - name - constant.numeric.float.hexadecimal.zon - - - match - nan - name - constant.numeric.nan.zon - - - match - inf - name - constant.numeric.inf.zon - - - - container_decl - - patterns - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:union)\s*[(\{]) - name - entity.name.union.zon - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:struct)\s*[(\{]) - name - entity.name.struct.zon - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:extern|packed)?\b\s*(?:enum)\s*[(\{]) - name - entity.name.enum.zon - - - match - \b(?!\d)([a-zA-Z_]\w*|@\".+\")?(?=\s*=\s*(?:error)\s*[(\{]) - name - entity.name.error.zon - - - captures - - 1 - - name - storage.type.error.zon - - 2 - - name - punctuation.accessor.zon - - 3 - - name - entity.name.error.zon - - - match - \b(error)(\.)([a-zA-Z_]\w*|@\".+\") - - - - dummy_main - - patterns - - - include - #label - - - include - #function_type - - - include - #punctuation - - - include - #storage_modifier - - - include - #container_decl - - - include - #constants - - - include - #comments - - - include - #strings - - - include - #storage - - - include - #keywords - - - include - #operators - - - include - #support - - - include - #field_decl - - - include - #block - - - include - #function_def - - - include - #function_call - - - include - #enum_literal - - - include - #variables - - - - enum_literal - - match - (?<!\w|\)|\?|\}|\]|\*)(\.(?:[a-zA-Z_]\w*\b|@\"[^\"]*\"))(?!\(|\s*=[^=>]) - name - constant.language.enum - - field_decl - - begin - ([a-zA-Z_]\w*|@\".+\")\s*(:)\s* - beginCaptures - - 1 - - name - variable.other.member.zon - - 2 - - name - punctuation.separator.zon - - - end - ([a-zA-Z_][\w.]*|@\".+\")?\s*(?:(,)|(=)|$) - endCaptures - - 1 - - name - storage.type.zon - - 2 - - name - punctuation.separator.zon - - 3 - - name - keyword.operator.assignment.zon - - - patterns - - - include - #dummy_main - - - - function_call - - match - (?<!fn)\b([a-zA-Z_]\w*|@\".+\")(?=\s*\() - name - variable.function.zon - - function_def - - begin - (?<=fn)\s+([a-zA-Z_]\w*|@\".+\")(\() - beginCaptures - - 1 - - name - entity.name.function - - 2 - - name - punctuation.section.parens.begin.zon - - - end - (?<=\)[^\)])\s*([a-zA-Z_][\w.]*|@\".+\")?(!)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())? - endCaptures - - 1 - - name - storage.type.zon - - 2 - - name - keyword.operator.zon - - 3 - - name - storage.type.zon - - - patterns - - - include - #label - - - include - #param_list - - - match - ([a-zA-Z_][\w.]*|@\".+\") - name - storage.type.zon - - - include - #dummy_main - - - - function_type - - begin - \b(fn)\s*(\() - beginCaptures - - 1 - - name - storage.type.function.zon - - 2 - - name - punctuation.section.parens.begin.zon - - - contentName - meta.function.parameters.zon - end - (?<=\)|\})\s*([a-zA-Z_][\w.]*|@\".+\")?\s*(!)?\s*([a-zA-Z_][\w.]*|@\".+\") - endCaptures - - 1 - - name - storage.type.zon - - 2 - - name - keyword.operator.zon - - 3 - - name - storage.type.zon - - - patterns - - - include - #label - - - include - #param_list - - - match - ([a-zA-Z_][\w.]*|@\".+\") - name - storage.type.zon - - - include - #dummy_main - - - - keywords - - patterns - - - match - \b(while|for|break|return|continue|asm|defer|errdefer|unreachable)\b - name - keyword.control.zon - - - match - \b(async|await|suspend|nosuspend|resume)\b - name - keyword.control.async.zon - - - match - \b(if|else|switch|try|catch|orelse)\b - name - keyword.control.conditional.zon - - - match - (?<!\w)(@import|@cImport|@cInclude)\b - name - keyword.control.import.zon - - - match - \b(usingnamespace)\b - name - keyword.other.usingnamespace.zon - - - - label - - captures - - 1 - - name - keyword.control.zon - - 2 - - name - entity.name.label.zon - - 3 - - name - entity.name.label.zon - - - match - \b(break|continue)\s*:\s*([a-zA-Z_]\w*|@\".+\")\b|\b(?!\d)([a-zA-Z_]\w*|@\".+\")\b(?=\s*:\s*(?:\{|while\b)) - - operators - - patterns - - - match - \b!\b - name - keyword.operator.zon - - - match - (==|(?:!|>|<)=?) - name - keyword.operator.logical.zon - - - match - \b(and|or)\b - name - keyword.operator.word.zon - - - match - ((?:(?:\+|-|\*)\%?|/|%|<<|>>|\|(?=[^\|])|\^)?=) - name - keyword.operator.assignment.zon - - - match - ((?:\+|-|\*)\%?|/(?!/)|%) - name - keyword.operator.arithmetic.zon - - - match - (<<|>>|\|(?=[^\|])|\^|~) - name - keyword.operator.bitwise.zon - - - match - (\+\+|\*\*|->|\.\?|\.\*|\?|\|\||\.{2,3}) - name - keyword.operator.other.zon - - - - param_list - - begin - ([a-zA-Z_]\w*|@\".+\")\s*(:)\s* - beginCaptures - - 1 - - name - variable.parameter.zon - - 2 - - name - punctuation.separator.zon - - - end - ([a-zA-Z_][\w.]*|@\".+\")?\s*(?:(,)|(\))) - endCaptures - - 1 - - name - storage.type.zon - - 2 - - name - punctuation.separator.zon - - 3 - - name - punctuation.section.parens.end.zon - - - patterns - - - include - #dummy_main - - - match - ([a-zA-Z_][\w.]*|@\".+\") - name - storage.type.zon - - - - punctuation - - patterns - - - match - , - name - punctuation.separator.zon - - - match - ; - name - punctuation.terminator.zon - - - match - (\() - name - punctuation.section.parens.begin.zon - - - match - (\)) - name - punctuation.section.parens.end.zon - - - - storage - - patterns - - - match - \b(bool|void|noreturn|type|anyerror|anytype)\b - name - storage.type.zon - - - match - \b(?<!\.)([iu]\d+|[iu]size|comptime_int)\b - name - storage.type.integer.zon - - - match - \b(f16|f32|f64|f128|comptime_float)\b - name - storage.type.float.zon - - - match - \b(c_short|c_ushort|c_int|c_uint|c_long|c_ulong|c_longlong|c_ulonglong|c_longdouble|c_void)\b - name - storage.type.c_compat.zon - - - captures - - 1 - - name - storage.type.zon - - 2 - - name - keyword.operator.zon - - 3 - - name - storage.type.zon - - - match - \b(anyframe)\b\s*(->)?\s*(?:([a-zA-Z_][\w.]*|@\".+\")\b(?!\s*\())? - - - match - \bfn\b - name - storage.type.function.zon - - - match - \btest\b - name - storage.type.test.zon - - - match - \bstruct\b - name - storage.type.struct.zon - - - match - \benum\b - name - storage.type.enum.zon - - - match - \bunion\b - name - storage.type.union.zon - - - match - \berror\b - name - storage.type.error.zon - - - - storage_modifier - - match - \b(const|var|extern|packed|export|pub|noalias|inline|noinline|comptime|volatile|align|linksection|threadlocal|allowzero)\b - name - storage.modifier.zon - - strings - - patterns - - - begin - \' - end - \' - name - string.quoted.single.zon - patterns - - - include - #character_escapes - - - match - \\[^\'][^\']*? - name - invalid.illegal.character.zon - - - - - begin - c?\" - end - \" - name - string.quoted.double.zon - patterns - - - include - #character_escapes - - - match - \\[^\'][^\']*? - name - invalid.illegal.character.zon - - - - - begin - c?\\\\ - end - $\n? - name - string.quoted.other.zon - - - - support - - match - (?<!\w)@[^\"\d][a-zA-Z_]\w*\b - name - support.function.zon - - variables - - name - meta.variable.zon - patterns - - - match - \b[_A-Z][_A-Z0-9]+\b - name - variable.constant.zon - - - match - \b[_a-zA-Z][_a-zA-Z0-9]*_t\b - name - entity.name.type.zon - - - match - \b[A-Z][a-zA-Z0-9]*\b - name - entity.name.type.zon - - - match - \b[_a-zA-Z][_a-zA-Z0-9]*\b - name - variable.zon - - - - - scopeName - source.zon - uuid - 06C2FF99-3080-441A-9019-460C51E93116 - -