diff --git a/Syntaxes/META_info.tmLanguage b/Syntaxes/META_info.tmLanguage new file mode 100644 index 0000000..f023756 --- /dev/null +++ b/Syntaxes/META_info.tmLanguage @@ -0,0 +1,249 @@ + + + + + fileTypes + + META.info + META6.json + + name + META.info + patterns + + + include + #value + + + repository + + array + + begin + \[ + beginCaptures + + 0 + + name + punctuation.definition.array.begin.json + + + end + \] + endCaptures + + 0 + + name + punctuation.definition.array.end.json + + + name + meta.structure.array.json + patterns + + + include + #value + + + match + , + name + punctuation.separator.array.json + + + match + [^\s\]] + name + invalid.illegal.expected-array-separator.json + + + + constant + + match + \b(?:true|false|null)\b + name + constant.language.json + + fields + + match + (?x) "(?: perl|name|version|description|author(?:s)?|provides|depends|emulates| supersedes|superseded-by|excludes|build-depends|test-depends|resource| support|email|mailinglist|bugtracker|source|source-url|source-type| irc|phone|production|license|tags|auth )" + name + entity.name.function.field.meta-info + + number + + comment + handles integer and decimal numbers + match + -?(?=[1-9]|0(?!\d))\d+(\.\d+)?([eE][+-]?\d+)? + name + constant.numeric.json + + object + + begin + \{ + beginCaptures + + 0 + + name + punctuation.definition.dictionary.begin.json + + + comment + a JSON object + end + \} + endCaptures + + 0 + + name + punctuation.definition.dictionary.end.json + + + name + meta.structure.dictionary.json + patterns + + + comment + special META.info keys + include + #fields + + + comment + the JSON object key + include + #string + + + begin + : + beginCaptures + + 0 + + name + punctuation.separator.dictionary.key-value.json + + + end + (,)|(?=\}) + endCaptures + + 1 + + name + punctuation.separator.dictionary.pair.json + + + name + meta.structure.dictionary.value.json + patterns + + + comment + the JSON object value + include + #value + + + match + [^\s,] + name + invalid.illegal.expected-dictionary-separator.json + + + + + match + [^\s\}] + name + invalid.illegal.expected-dictionary-separator.json + + + + string + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.json + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.json + + + name + string.quoted.double.json + patterns + + + match + (?x)\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4}) + name + constant.character.escape.json + + + match + \\. + name + invalid.illegal.unrecognized-string-escape.json + + + + value + + comment + the 'value' diagram at http://json.org + patterns + + + include + #constant + + + include + #number + + + include + #string + + + include + #array + + + include + #object + + + + + scopeName + source.meta-info + uuid + FBD8E5BF-15B2-4E39-BE86-B2FC7D6CF8CF + + diff --git a/Syntaxes/Six (Quoting).tmLanguage b/Syntaxes/Six (Quoting).tmLanguage new file mode 100644 index 0000000..c440329 --- /dev/null +++ b/Syntaxes/Six (Quoting).tmLanguage @@ -0,0 +1,3691 @@ + + + + + fileTypes + + name + Six (Quoting) + patterns + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\(\(\() + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_paren.quote.perl6fe + end + \)\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_triple_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\(\(\() + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_paren.quote.perl6fe + end + \\\\\)\)\)|(?<!\\)\)\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\(\(\(|\\\)\)\) + name + constant.character.escape.perl6fe + + + include + #q_triple_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\(\(\() + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.triple_paren.quote.perl6fe + end + \\\\\)\)\)|(?<!\\)\)\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\(\(\(|\\\)\)\) + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_triple_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[\[\[) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_bracket.quote.perl6fe + end + \]\]\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_triple_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[\[\[) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_bracket.quote.perl6fe + end + \\\\\]\]\]|(?<!\\)\]\]\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\[\[\[|\\\]\]\] + name + constant.character.escape.perl6fe + + + include + #q_triple_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[\[\[) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.triple_bracket.quote.perl6fe + end + \\\\\]\]\]|(?<!\\)\]\]\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\[\[\[|\\\]\]\] + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_triple_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\{\{\{) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_brace.quote.perl6fe + end + \}\}\} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_triple_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\{\{\{) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_brace.quote.perl6fe + end + \\\\\}\}\}|(?<!\\)\}\}\} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\{\{\{|\\\}\}\} + name + constant.character.escape.perl6fe + + + include + #q_triple_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\{\{\{) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.triple_brace.quote.perl6fe + end + \\\\\}\}\}|(?<!\\)\}\}\} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\{\{\{|\\\}\}\} + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_triple_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<<<) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_angle.quote.perl6fe + end + >>> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_triple_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<<<) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.triple_angle.quote.perl6fe + end + \\\\>>>|(?<!\\)>>> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\<<<|\\>>> + name + constant.character.escape.perl6fe + + + include + #q_triple_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<<<) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.triple_angle.quote.perl6fe + end + \\\\>>>|(?<!\\)>>> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\<<<|\\>>> + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_triple_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<<) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_angle.quote.perl6fe + end + >> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_double_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<<) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_angle.quote.perl6fe + end + \\\\>>|(?<!\\)>> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\<<|\\>> + name + constant.character.escape.perl6fe + + + include + #q_double_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<<) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.double_angle.quote.perl6fe + end + \\\\>>|(?<!\\)>> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\<<|\\>> + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_double_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\(\() + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_paren.quote.perl6fe + end + \)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_double_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\(\() + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_paren.quote.perl6fe + end + \\\\\)\)|(?<!\\)\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\(\(|\\\)\) + name + constant.character.escape.perl6fe + + + include + #q_double_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\(\() + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.double_paren.quote.perl6fe + end + \\\\\)\)|(?<!\\)\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\(\(|\\\)\) + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_double_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[\[) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_bracket.quote.perl6fe + end + \]\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_double_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[\[) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_bracket.quote.perl6fe + end + \\\\\]\]|(?<!\\)\]\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\[\[|\\\]\] + name + constant.character.escape.perl6fe + + + include + #q_double_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[\[) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.double_bracket.quote.perl6fe + end + \\\\\]\]|(?<!\\)\]\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\[\[|\\\]\] + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_double_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*({{) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_brace.quote.perl6fe + end + }} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_double_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*({{) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double_brace.quote.perl6fe + end + \\\\}}|(?<!\\)}} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\{{|\\}} + name + constant.character.escape.perl6fe + + + include + #q_double_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*({{) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.double_brace.quote.perl6fe + end + \\\\}}|(?<!\\)}} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\{{|\\}} + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_double_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*({) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.brace.quote.perl6fe + end + } + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*({) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.brace.quote.perl6fe + end + \\\\}|(?<!\\)} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\{|\\} + name + constant.character.escape.perl6fe + + + include + #q_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*({) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.brace.quote.perl6fe + end + \\\\}|(?<!\\)} + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\{|\\} + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_brace_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.angle.quote.perl6fe + end + > + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.angle.quote.perl6fe + end + \\\\>|(?<!\\)> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\<|\\> + name + constant.character.escape.perl6fe + + + include + #q_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(<) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.angle.quote.perl6fe + end + \\\\>|(?<!\\)> + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\<|\\> + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_angle_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s+(\() + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.paren.quote.perl6fe + end + \) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s+(\() + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.paren.quote.perl6fe + end + \\\\\)|(?<!\\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\(|\\\) + name + constant.character.escape.perl6fe + + + include + #q_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s+(\() + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.paren.quote.perl6fe + end + \\\\\)|(?<!\\)\) + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\(|\\\) + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_paren_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.bracket.quote.perl6fe + end + \] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.bracket.quote.perl6fe + end + \\\\\]|(?<!\\)\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\[|\\\] + name + constant.character.escape.perl6fe + + + include + #q_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(\[) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.bracket.quote.perl6fe + end + \\\\\]|(?<!\\)\] + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\\[|\\\] + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_bracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(“) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.left_double_right_double.quote.perl6fe + end + + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_left_double_right_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(“) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.left_double_right_double.quote.perl6fe + end + \\\\”|(?<!\\)” + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\“|\\” + name + constant.character.escape.perl6fe + + + include + #q_left_double_right_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(“) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.left_double_right_double.quote.perl6fe + end + \\\\”|(?<!\\)” + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\“|\\” + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_left_double_right_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(„) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.left_double-low-q_right_double.quote.perl6fe + end + ”|“ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_left_double-low-q_right_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(„) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.left_double-low-q_right_double.quote.perl6fe + end + \\\\”|“|(?<!\\)”|“ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\„|\\”|“ + name + constant.character.escape.perl6fe + + + include + #q_left_double-low-q_right_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(„) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.left_double-low-q_right_double.quote.perl6fe + end + \\\\”|“|(?<!\\)”|“ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\„|\\”|“ + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_left_double-low-q_right_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(‘) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.left_single_right_single.quote.perl6fe + end + + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_left_single_right_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(‘) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.left_single_right_single.quote.perl6fe + end + \\\\’|(?<!\\)’ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\‘|\\’ + name + constant.character.escape.perl6fe + + + include + #q_left_single_right_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(‘) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.left_single_right_single.quote.perl6fe + end + \\\\’|(?<!\\)’ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\‘|\\’ + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_left_single_right_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(‚) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.low-q_left_single.quote.perl6fe + end + + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_low-q_left_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(‚) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.low-q_left_single.quote.perl6fe + end + \\\\‘|(?<!\\)‘ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\‚|\\‘ + name + constant.character.escape.perl6fe + + + include + #q_low-q_left_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(‚) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.low-q_left_single.quote.perl6fe + end + \\\\‘|(?<!\\)‘ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\‚|\\‘ + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_low-q_left_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(「) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.fw_cornerbracket.quote.perl6fe + end + + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_fw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(「) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.fw_cornerbracket.quote.perl6fe + end + \\\\」|(?<!\\)」 + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\「|\\」 + name + constant.character.escape.perl6fe + + + include + #q_fw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(「) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.fw_cornerbracket.quote.perl6fe + end + \\\\」|(?<!\\)」 + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\「|\\」 + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_fw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(「) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.hw_cornerbracket.quote.perl6fe + end + + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_hw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(「) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.hw_cornerbracket.quote.perl6fe + end + \\\\」|(?<!\\)」 + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\「|\\」 + name + constant.character.escape.perl6fe + + + include + #q_hw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(「) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.hw_cornerbracket.quote.perl6fe + end + \\\\」|(?<!\\)」 + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\「|\\」 + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_hw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(«) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.chevron.quote.perl6fe + end + » + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_chevron_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(«) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.chevron.quote.perl6fe + end + \\\\»|(?<!\\)» + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\«|\\» + name + constant.character.escape.perl6fe + + + include + #q_chevron_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(«) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.chevron.quote.perl6fe + end + \\\\»|(?<!\\)» + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\«|\\» + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_chevron_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(⟅) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.s-shaped-bag-delimiter.quote.perl6fe + end + + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_s-shaped-bag-delimiter_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(⟅) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.s-shaped-bag-delimiter.quote.perl6fe + end + \\\\⟆|(?<!\\)⟆ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\⟅|\\⟆ + name + constant.character.escape.perl6fe + + + include + #q_s-shaped-bag-delimiter_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(⟅) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.s-shaped-bag-delimiter.quote.perl6fe + end + \\\\⟆|(?<!\\)⟆ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\⟅|\\⟆ + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_s-shaped-bag-delimiter_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(/) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.slash.quote.perl6fe + end + / + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_slash_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(/) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.slash.quote.perl6fe + end + \\\\/|(?<!\\)/ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\/ + name + constant.character.escape.perl6fe + + + include + #q_slash_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(/) + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.slash.quote.perl6fe + end + \\\\/|(?<!\\)/ + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\/ + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_slash_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s+(') + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.single.quote.perl6fe + end + ' + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s+(') + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.single.quote.perl6fe + end + \\\\'|(?<!\\)' + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\' + name + constant.character.escape.perl6fe + + + include + #q_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s+(') + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.single.quote.perl6fe + end + \\\\'|(?<!\\)' + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\' + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_single_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(") + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double.quote.perl6fe + end + " + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + include + #q_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(") + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.double.quote.perl6fe + end + \\\\"|(?<!\\)" + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\" + name + constant.character.escape.perl6fe + + + include + #q_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(qq(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*(") + beginCaptures + + 1 + + name + string.quoted.qq.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.qq.double.quote.perl6fe + end + \\\\"|(?<!\\)" + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + patterns + + + match + \\" + name + constant.character.escape.perl6fe + + + include + #qq_character_escape + + + include + source.perl6fe#interpolation + + + include + #q_double_string_content + + + + + begin + (?x)(?<=^|[\[\]\s\(\){},;])(q|qq|Q(?:x|w|ww|v|s|a|h|f|c|b|p)?)((?:\s*:(?:x|exec|w|words|ww|quotewords|v|val|q|single|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path|nfkc|nfkd))*)\s*([^\p{Ps}\p{Pe}\p{Pi}\p{Pf}\w\s]) + beginCaptures + + 1 + + name + string.quoted.q.operator.perl6fe + + 2 + + name + support.function.quote.adverb.perl6fe + + 3 + + name + punctuation.definition.string.perl6fe + + + contentName + string.quoted.q.any.quote.perl6fe + end + \3 + endCaptures + + 0 + + name + punctuation.definition.string.perl6fe + + + + + repository + + q_angle_string_content + + begin + < + end + \\\\>|(?<!\\)> + patterns + + + include + #q_angle_string_content + + + + q_brace_string_content + + begin + { + end + \\\\}|(?<!\\)} + patterns + + + include + #q_brace_string_content + + + + q_bracket_string_content + + begin + \[ + end + \\\\\]|(?<!\\)\] + patterns + + + include + #q_bracket_string_content + + + + q_chevron_string_content + + begin + « + end + \\\\»|(?<!\\)» + patterns + + + include + #q_chevron_string_content + + + + q_double_angle_string_content + + begin + << + end + \\\\>>|(?<!\\)>> + patterns + + + include + #q_double_angle_string_content + + + + q_double_brace_string_content + + begin + {{ + end + \\\\}}|(?<!\\)}} + patterns + + + include + #q_double_brace_string_content + + + + q_double_bracket_string_content + + begin + \[\[ + end + \\\\\]\]|(?<!\\)\]\] + patterns + + + include + #q_double_bracket_string_content + + + + q_double_paren_string_content + + begin + \(\( + end + \\\\\)\)|(?<!\\)\)\) + patterns + + + include + #q_double_paren_string_content + + + + q_double_string_content + + begin + " + end + \\\\"|(?<!\\)" + patterns + + + include + #q_double_string_content + + + + q_fw_cornerbracket_string_content + + begin + + end + \\\\」|(?<!\\)」 + patterns + + + include + #q_fw_cornerbracket_string_content + + + + q_hw_cornerbracket_string_content + + begin + + end + \\\\」|(?<!\\)」 + patterns + + + include + #q_hw_cornerbracket_string_content + + + + q_left_double-low-q_right_double_string_content + + begin + + end + \\\\”|“|(?<!\\)”|“ + patterns + + + include + #q_left_double-low-q_right_double_string_content + + + + q_left_double_right_double_string_content + + begin + + end + \\\\”|(?<!\\)” + patterns + + + include + #q_left_double_right_double_string_content + + + + q_left_single_right_single_string_content + + begin + + end + \\\\’|(?<!\\)’ + patterns + + + include + #q_left_single_right_single_string_content + + + + q_low-q_left_single_string_content + + begin + + end + \\\\‘|(?<!\\)‘ + patterns + + + include + #q_low-q_left_single_string_content + + + + q_paren_string_content + + begin + \( + end + \\\\\)|(?<!\\)\) + patterns + + + include + #q_paren_string_content + + + + q_right_double_right_double_string_content + + begin + + end + + patterns + + + include + #q_right_double_right_double_string_content + + + + q_s-shaped-bag-delimiter_string_content + + begin + + end + \\\\⟆|(?<!\\)⟆ + patterns + + + include + #q_s-shaped-bag-delimiter_string_content + + + + q_single_string_content + + begin + ' + end + \\\\'|(?<!\\)' + patterns + + + include + #q_single_string_content + + + + q_slash_string_content + + begin + / + end + \\\\/|(?<!\\)/ + patterns + + + include + #q_slash_string_content + + + + q_triple_angle_string_content + + begin + <<< + end + \\\\>>>|(?<!\\)>>> + patterns + + + include + #q_triple_angle_string_content + + + + q_triple_brace_string_content + + begin + \{\{\{ + end + \\\\\}\}\}|(?<!\\)\}\}\} + patterns + + + include + #q_triple_brace_string_content + + + + q_triple_bracket_string_content + + begin + \[\[\[ + end + \\\\\]\]\]|(?<!\\)\]\]\] + patterns + + + include + #q_triple_bracket_string_content + + + + q_triple_paren_string_content + + begin + \(\(\( + end + \\\\\)\)\)|(?<!\\)\)\)\) + patterns + + + include + #q_triple_paren_string_content + + + + qq_character_escape + + patterns + + + match + (?x)\\[abtnfre\\\{\}]|\\ + name + constant.character.escape.perl6fe + + + + + scopeName + source.quoting.perl6fe + uuid + 6839F951-5DC9-40A3-8806-EF951E2364F8 + + diff --git a/Syntaxes/Six (Regular Expressions).tmLanguage b/Syntaxes/Six (Regular Expressions).tmLanguage new file mode 100644 index 0000000..78b6710 --- /dev/null +++ b/Syntaxes/Six (Regular Expressions).tmLanguage @@ -0,0 +1,384 @@ + + + + + fileTypes + + name + Six (Regular Expressions) + patterns + + + include + #regexp + + + repository + + re_strings + + patterns + + + begin + (?<!\\)\' + end + (?<=\\\\)\'|(?<!\\)\' + name + string.literal.perl6fe + + + begin + (?<!\\)‘ + end + (?<=\\\\)\’|(?<!\\)’ + name + string.literal.perl6fe + patterns + + + include + source.perl6fe#q_left_single_right_single_string_content + + + + + begin + (?<!\\)\" + end + (?<=\\\\)\"|(?<!\\)\" + name + string.literal.perl6fe + + + + regexp + + patterns + + + begin + (^[\t]+)?(?=#) + beginCaptures + + 1 + + name + punctuation.whitespace.comment.leading.perl6fe + + + end + (?!\G) + patterns + + + begin + # + beginCaptures + + 0 + + name + punctuation.definition.comment.perl6fe + + + end + \n + name + comment.line.number-sign.perl6fe + + + + + include + #re_strings + + + match + \\[dDhHnNsStTvVwW] + name + constant.character.escape.class.regexp.perl6fe + + + match + :\w+ + name + entity.name.section.adverb.perl6fe + + + match + \^\^|(?<!\.)\^(?!\.)|\$\$|\$(?!\d|<)|<<|>> + name + entity.name.section.boundary.regexp.perl6fe + + + match + (?<!\\)\$\d + name + keyword.other.special-method.match.variable.numbered.perlt6e + + + captures + + 1 + + name + variable.other.identifier.sigil.regexp.perl6 + + 2 + + name + support.class.match.name.delimiter.regexp.perl6fe + + 3 + + name + variable.other.identifier.regexp.perl6 + + 4 + + name + support.class.match.name.delimiter.regexp.perl6fe + + 5 + + name + storage.modifier.match.assignment.regexp.perl6fe + + + match + (\$)(\<)(\w+)(\>)\s*(=) + name + meta.match.variable.perl6fe + + + begin + (\<(?:\?|\!)\{) + beginCaptures + + 1 + + name + punctuation.section.embedded.begin.perl6fe + + + end + (\}\>) + endCaptures + + 1 + + name + punctuation.section.embedded.end.perl6fe + + + name + meta.interpolation.perl6fe + patterns + + + include + source.perl6fe + + + + + match + <\(|\)> + name + keyword.operator.capture.marker.regexp.perl6fe + + + begin + (?!\\)< + beginCaptures + + 0 + + name + punctuation.delimiter.property.regexp.perl6fe + + + end + > + endCaptures + + 0 + + name + punctuation.delimiter.property.regexp.perl6fe + + + name + meta.property.regexp.perl6fe + patterns + + + include + #re_strings + + + begin + (\?|\!)(before|after)\s+ + beginCaptures + + 1 + + name + keyword.operator.negativity.perl6fe + + 2 + + name + entity.name.section.assertion.perl6fe + + + end + (?=>) + name + meta.assertion.lookaround.perl6fe + patterns + + + include + #regexp + + + + + captures + + 1 + + name + entity.name.function.capturename.perl6fe + + 2 + + name + storage.modifier.capture.assignment.perl6fe + + + match + (\w+)(=) + name + meta.capture.assignment.perl6fe + + + captures + + 1 + + name + punctuation.definition.property.regexp.perl6fe + + 2 + + name + variable.other.identifier.property.regexp.perl6fe + + + match + (:)(\w+) + name + meta.property.name.regexp.perl6fe + + + match + [+|&\-^] + name + keyword.operator.property.regexp.perl6fe + + + begin + \[ + beginCaptures + + 0 + + name + keyword.operator.charclass.open.regexp.perl6fe + + + contentName + constant.character.custom.property.regexp.perl6fe + end + \] + endCaptures + + 0 + + name + keyword.operator.charclass.close.regexp.perl6fe + + + patterns + + + include + source.perl6fe#hex_escapes + + + match + (?<!\\)\\\] + name + constant.character.custom.property.regexp.perl6fe + + + + + match + \.\w+\b + name + comment.suppressed.capture.property.regexp.perl6fe + + + match + \b\w+\b + name + variable.other.identifier.regexname.perl6fe + + + begin + (?<=\w)\( + end + \) + name + meta.rule.signature.perl6fe + patterns + + + include + source.perl6fe + + + + + + + match + (?<=\.\.)\* + name + variable.other.identifier.whatever.regexp.perl6fe + + + match + \+|\*\*|\*|\?|%|\.\.|\.|(?<=\.\.|\s|\d)\^ + name + keyword.operator.quantifiers.regexp.perl6fe + + + match + (?<!\\)\|{1,2} + name + support.function.alternation.regexp.perl6fe + + + + + scopeName + source.regexp.perl6fe + uuid + 588B3FE3-7D1A-413C-9AB9-A44B1EB2B184 + + diff --git a/Syntaxes/Six.tmLanguage b/Syntaxes/Six.tmLanguage new file mode 100644 index 0000000..441d919 --- /dev/null +++ b/Syntaxes/Six.tmLanguage @@ -0,0 +1,4316 @@ + + + + + fileTypes + + p6 + pl6 + pm6 + nqp + pod6 + t + t6 + + firstLineMatch + (?x) + name + Six + patterns + + + begin + ^\s*(=)(finish) + beginCaptures + + 1 + + name + storage.modifier.block.finish.perl6fe + + 2 + + name + keyword.operator.block.finish.perl6fe + + + contentName + comment.block.finish.perl6fe + patterns + + + include + #comment-block-syntax + + + + + include + #comment-block-delimited + + + begin + ^\s*(=)(?:(para)|(for)\s+(\w+)) + beginCaptures + + 1 + + name + storage.modifier.block.paragraph.perl6fe + + 2 + + name + keyword.operator.block.paragraph.perl6fe + + 3 + + name + entity.other.attribute-name.paragraph.perl6fe + + + contentName + comment.block.paragraph.perl6fe + end + (?=^\s*$|^\s*=\w+.*$) + patterns + + + include + #comment-block-syntax + + + + + include + #comment-block-abbreviated + + + captures + + 1 + + name + comment.punctuation.pound.perl6fe + + 2 + + name + meta.declarator.perl6fe + + 3 + + name + comment.inline.declarator.perl6fe + + + match + ^\s*(#)([\|\=])(.*)\n + name + meta.documentation.block.declarator.perl6fe + + + begin + \s*#`\(\(\( + end + \)\)\) + name + comment.multiline.hash-tick.triple_paren.perl6fe + patterns + + + begin + \(\(\( + end + \)\)\) + name + comment.internal.triple_paren.perl6fe + + + + + begin + \s*#`\[\[\[ + end + \]\]\] + name + comment.multiline.hash-tick.triple_bracket.perl6fe + patterns + + + begin + \[\[\[ + end + \]\]\] + name + comment.internal.triple_bracket.perl6fe + + + + + begin + \s*#`\{\{\{ + end + \}\}\} + name + comment.multiline.hash-tick.triple_brace.perl6fe + patterns + + + begin + \{\{\{ + end + \}\}\} + name + comment.internal.triple_brace.perl6fe + + + + + begin + \s*#`<<< + end + >>> + name + comment.multiline.hash-tick.triple_angle.perl6fe + patterns + + + begin + <<< + end + >>> + name + comment.internal.triple_angle.perl6fe + + + + + begin + \s*#`<< + end + >> + name + comment.multiline.hash-tick.double_angle.perl6fe + patterns + + + begin + << + end + >> + name + comment.internal.double_angle.perl6fe + + + + + begin + \s*#`\(\( + end + \)\) + name + comment.multiline.hash-tick.double_paren.perl6fe + patterns + + + begin + \(\( + end + \)\) + name + comment.internal.double_paren.perl6fe + + + + + begin + \s*#`\[\[ + end + \]\] + name + comment.multiline.hash-tick.double_bracket.perl6fe + patterns + + + begin + \[\[ + end + \]\] + name + comment.internal.double_bracket.perl6fe + + + + + begin + \s*#`{{ + end + }} + name + comment.multiline.hash-tick.double_brace.perl6fe + patterns + + + begin + {{ + end + }} + name + comment.internal.double_brace.perl6fe + + + + + begin + \s*#`{ + end + } + name + comment.multiline.hash-tick.brace.perl6fe + patterns + + + begin + { + end + } + name + comment.internal.brace.perl6fe + + + + + begin + \s*#`< + end + > + name + comment.multiline.hash-tick.angle.perl6fe + patterns + + + begin + < + end + > + name + comment.internal.angle.perl6fe + + + + + begin + \s*#`\( + end + \) + name + comment.multiline.hash-tick.paren.perl6fe + patterns + + + begin + \( + end + \) + name + comment.internal.paren.perl6fe + + + + + begin + \s*#`\[ + end + \] + name + comment.multiline.hash-tick.bracket.perl6fe + patterns + + + begin + \[ + end + \] + name + comment.internal.bracket.perl6fe + + + + + begin + \s*#`“ + end + + name + comment.multiline.hash-tick.left_double_right_double.perl6fe + patterns + + + begin + + end + + name + comment.internal.left_double_right_double.perl6fe + + + + + begin + \s*#`„ + end + ”|“ + name + comment.multiline.hash-tick.left_double-low-q_right_double.perl6fe + patterns + + + begin + + end + ”|“ + name + comment.internal.left_double-low-q_right_double.perl6fe + + + + + begin + \s*#`‘ + end + + name + comment.multiline.hash-tick.left_single_right_single.perl6fe + patterns + + + begin + + end + + name + comment.internal.left_single_right_single.perl6fe + + + + + begin + \s*#`‚ + end + + name + comment.multiline.hash-tick.low-q_left_single.perl6fe + patterns + + + begin + + end + + name + comment.internal.low-q_left_single.perl6fe + + + + + begin + \s*#`「 + end + + name + comment.multiline.hash-tick.fw_cornerbracket.perl6fe + patterns + + + begin + + end + + name + comment.internal.fw_cornerbracket.perl6fe + + + + + begin + \s*#`「 + end + + name + comment.multiline.hash-tick.hw_cornerbracket.perl6fe + patterns + + + begin + + end + + name + comment.internal.hw_cornerbracket.perl6fe + + + + + begin + \s*#`« + end + » + name + comment.multiline.hash-tick.chevron.perl6fe + patterns + + + begin + « + end + » + name + comment.internal.chevron.perl6fe + + + + + begin + \s*#`⟅ + end + + name + comment.multiline.hash-tick.s-shaped-bag-delimiter.perl6fe + patterns + + + begin + + end + + name + comment.internal.s-shaped-bag-delimiter.perl6fe + + + + + begin + + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.left_double_right_double.perl6fe + patterns + + + match + \\[“”abtnfre\\\{\}] + name + constant.character.escape.perl6fe + + + include + #interpolation + + + include + source.quoting.perl6fe#q_left_double_right_double_string_content + + + + + begin + + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + ”|“ + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.left_double-low-q_right_double.perl6fe + patterns + + + match + \\[„”|“abtnfre\\\{\}] + name + constant.character.escape.perl6fe + + + include + #interpolation + + + include + source.quoting.perl6fe#q_left_double-low-q_right_double_string_content + + + + + begin + (?<=\W|^)‘ + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.single.left_single_right_single.perl6fe + patterns + + + match + \\[‘’\\] + name + constant.character.escape.perl6fe + + + include + source.quoting.perl6fe#q_left_single_right_single_string_content + + + + + begin + (?<=\W|^)‚ + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.single.low-q_left_single.perl6fe + patterns + + + match + \\[‚‘\\] + name + constant.character.escape.perl6fe + + + include + source.quoting.perl6fe#q_low-q_left_single_string_content + + + + + begin + (?<=\W|^)' + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + ' + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.single.single.perl6fe + patterns + + + match + \\['\\] + name + constant.character.escape.perl6fe + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.double.perl6fe + patterns + + + match + \\["abtnfre\\\{\}] + name + constant.character.escape.perl6fe + + + include + #interpolation + + + include + source.quoting.perl6fe#q_double_string_content + + + + + begin + + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.right_double_right_double.perl6fe + patterns + + + match + \\[”abtnfre\\\{\}] + name + constant.character.escape.perl6fe + + + include + #interpolation + + + include + source.quoting.perl6fe#q_right_double_right_double_string_content + + + + + begin + (^[\t]+)?(?=#) + beginCaptures + + 1 + + name + punctuation.whitespace.comment.leading.perl6fe + + + end + (?!\G) + patterns + + + begin + # + beginCaptures + + 0 + + name + punctuation.definition.comment.perl6fe + + + end + \n + name + comment.line.number-sign.perl6fe + + + + + match + (?x)\x{2208}|\(elem\)|\x{2209}|\!\(elem\)|\x{220B}|\(cont\)|\x{220C}|\!\(cont\)|\x{2286}|\(<=\)|\x{2288}|\!\(<=\)|\x{2282}|\(<\)|\x{2284}|\!\(<\)|\x{2287}|\(>=\)|\x{2289}|\!\(>=\)|\x{2283}|\(>\)|\x{2285}|\!\(>\)|\x{227C}|\(<\+\)|\x{227D}|\(>\+\)|\x{222A}|\(\|\)|\x{2229}|\(&\)|\x{2216}|\(\-\)|\x{2296}|\(\^\)|\x{228D}|\(\.\)|\x{228E}|\(\+\) + name + keyword.operator.setbagmix.perl6fe + + + captures + + 1 + + name + storage.type.class.perl6fe + + 3 + + name + entity.name.type.class.perl6fe + + + match + (?x)(class|enum|grammar|knowhow|module|package|role|slang|subset|monitor|actor)(\s+)(((?:::|')?(?:([a-zA-Z_À-ÿ\$])([a-zA-Z0-9_À-ÿ\$]|[\-'][a-zA-Z0-9_À-ÿ\$])*))+) + name + meta.class.perl6fe + + + include + #p5_regex + + + captures + + 1 + + name + punctuation.definition.regexp.perl6fe + + 2 + + name + string.regexp.perl6fe + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + 3 + + name + punctuation.definition.regexp.perl6fe + + + match + (?x)(?<=^|^\s|[\s\(][^\p{Nd}\p{L}]|~~\s|~~\s\s|match\(|match:\s)([/])(.*?)(?:(?<!\\)|(?<=\\\\))(/) + + + begin + (?x)(?<=[=,(\[]|when|=>|~~)\s*(?:(m|rx|s)?((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*([/]) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + punctuation.definition.regexp.perl6fe + + + contentName + string.regexp.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\)|(?<!')|(?<=\\ ') ) (/) + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|[=,(\[~]|when|=>)\s*(?:(m|rx|s)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*([{]) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + punctuation.definition.regexp.perl6fe + + + contentName + fstring.regexp.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (\}) + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?<![\w\/])(m|rx)((?:\s*:\w+)*)\s*(\{) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + punctuation.definition.regexp.perl6fe + + + contentName + string.regexp.perl6fe + end + (?<!\\)(\}) + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?<![\w\/])(m|rx)((?:\s*:\w+)*)\s*(\[) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + punctuation.definition.regexp.perl6fe + + + contentName + string.regexp.perl6fe + end + (?<!\\)(\]) + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?<=\W|^)「 + beginCaptures + + 0 + + name + punctuation.definition.string.begin.perl6fe + + + end + + endCaptures + + 0 + + name + punctuation.definition.string.end.perl6fe + + + name + string.quoted.single.perl6fe + patterns + + + include + source.quoting.perl6fe#q_hw_cornerbracket_string_content + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(/) + beginCaptures + + 1 + + name + string.regexp.construct.slash.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.slash.perl6fe + + 3 + + name + punctuation.definition.regexp.slash.perl6fe + + + contentName + string.regexp.slash.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (/) + endCaptures + + 1 + + name + punctuation.definition.regexp.slash.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*({) + beginCaptures + + 1 + + name + string.regexp.construct.brace.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.brace.perl6fe + + 3 + + name + punctuation.definition.regexp.brace.perl6fe + + + contentName + string.regexp.brace.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (}) + endCaptures + + 1 + + name + punctuation.definition.regexp.brace.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(<) + beginCaptures + + 1 + + name + string.regexp.construct.angle.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.angle.perl6fe + + 3 + + name + punctuation.definition.regexp.angle.perl6fe + + + contentName + string.regexp.angle.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (>) + endCaptures + + 1 + + name + punctuation.definition.regexp.angle.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(\() + beginCaptures + + 1 + + name + string.regexp.construct.paren.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.paren.perl6fe + + 3 + + name + punctuation.definition.regexp.paren.perl6fe + + + contentName + string.regexp.paren.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (\)) + endCaptures + + 1 + + name + punctuation.definition.regexp.paren.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(\[) + beginCaptures + + 1 + + name + string.regexp.construct.bracket.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.bracket.perl6fe + + 3 + + name + punctuation.definition.regexp.bracket.perl6fe + + + contentName + string.regexp.bracket.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (\]) + endCaptures + + 1 + + name + punctuation.definition.regexp.bracket.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(“) + beginCaptures + + 1 + + name + string.regexp.construct.left_double_right_double.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.left_double_right_double.perl6fe + + 3 + + name + punctuation.definition.regexp.left_double_right_double.perl6fe + + + contentName + string.regexp.left_double_right_double.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (”) + endCaptures + + 1 + + name + punctuation.definition.regexp.left_double_right_double.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(„) + beginCaptures + + 1 + + name + string.regexp.construct.left_double-low-q_right_double.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.left_double-low-q_right_double.perl6fe + + 3 + + name + punctuation.definition.regexp.left_double-low-q_right_double.perl6fe + + + contentName + string.regexp.left_double-low-q_right_double.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (”|“) + endCaptures + + 1 + + name + punctuation.definition.regexp.left_double-low-q_right_double.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(‘) + beginCaptures + + 1 + + name + string.regexp.construct.left_single_right_single.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.left_single_right_single.perl6fe + + 3 + + name + punctuation.definition.regexp.left_single_right_single.perl6fe + + + contentName + string.regexp.left_single_right_single.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (’) + endCaptures + + 1 + + name + punctuation.definition.regexp.left_single_right_single.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(‚) + beginCaptures + + 1 + + name + string.regexp.construct.low-q_left_single.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.low-q_left_single.perl6fe + + 3 + + name + punctuation.definition.regexp.low-q_left_single.perl6fe + + + contentName + string.regexp.low-q_left_single.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (‘) + endCaptures + + 1 + + name + punctuation.definition.regexp.low-q_left_single.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(「) + beginCaptures + + 1 + + name + string.regexp.construct.fw_cornerbracket.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.fw_cornerbracket.perl6fe + + 3 + + name + punctuation.definition.regexp.fw_cornerbracket.perl6fe + + + contentName + string.regexp.fw_cornerbracket.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (」) + endCaptures + + 1 + + name + punctuation.definition.regexp.fw_cornerbracket.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(「) + beginCaptures + + 1 + + name + string.regexp.construct.hw_cornerbracket.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.hw_cornerbracket.perl6fe + + 3 + + name + punctuation.definition.regexp.hw_cornerbracket.perl6fe + + + contentName + string.regexp.hw_cornerbracket.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (」) + endCaptures + + 1 + + name + punctuation.definition.regexp.hw_cornerbracket.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(«) + beginCaptures + + 1 + + name + string.regexp.construct.chevron.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.chevron.perl6fe + + 3 + + name + punctuation.definition.regexp.chevron.perl6fe + + + contentName + string.regexp.chevron.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (») + endCaptures + + 1 + + name + punctuation.definition.regexp.chevron.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*(⟅) + beginCaptures + + 1 + + name + string.regexp.construct.s-shaped-bag-delimiter.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.s-shaped-bag-delimiter.perl6fe + + 3 + + name + punctuation.definition.regexp.s-shaped-bag-delimiter.perl6fe + + + contentName + string.regexp.s-shaped-bag-delimiter.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (⟆) + endCaptures + + 1 + + name + punctuation.definition.regexp.s-shaped-bag-delimiter.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + begin + (?x)(?<=^|\s)(?:(m|rx|s|S)((?:(?<!:P5)\s*:\w+(?!\s*:P5))*))\s*([^#\p{Ps}\p{Pe}\p{Pi}\p{Pf}\w'\-<>\-\]\)\}\{]) + beginCaptures + + 1 + + name + string.regexp.construct.any.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.any.perl6fe + + 3 + + name + punctuation.definition.regexp.any.perl6fe + + + contentName + string.regexp.any.perl6fe + end + (?x) (?: (?<!\\)|(?<=\\\\) ) (\3) + endCaptures + + 1 + + name + punctuation.definition.regexp.any.perl6fe + + + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + include + #shellquotes + + + begin + (?x)(?:(qq|qqx|qqw)\s*((?:\s*:\w+)*\s*:(?:to|heredoc))\s*|(qqto)\s*((?:\s*:\w+)*)\s*)/(\S+)/ + beginCaptures + + 1 + + name + string.quoted.construct.perl6fe + + 2 + + name + support.function.adverb.perl6fe + + 3 + + name + string.quoted.construct.perl6fe + + 4 + + name + support.function.adverb.perl6fe + + 5 + + name + entity.other.attribute-name.heredoc.delimiter.perl6fe + + + end + \s*\5 + endCaptures + + 0 + + name + entity.other.attribute-name.heredoc.delimiter.perl6fe + + + name + string.quoted.heredoc.perl6fe + patterns + + + begin + (?<=/) + end + \n + name + meta.heredoc.continuation.perl6fe + patterns + + + include + $self + + + + + begin + ^ + end + $ + patterns + + + include + #interpolation + + + + + match + (?x) ^ (?: . | \n )* $ + name + string.quoted.qq.heredoc.perl6fe + + + + + begin + (?x)(?:([qQ](?!/)|qw|qww|qx|qqx)\s*((?:\s*:\w+)*\s*:(?:to|heredoc))\s*|(qto|Qto)\s*((?:\s*:\w+)*)\s*)/(\S+)/ + beginCaptures + + 1 + + name + string.quoted.construct.perl6fe + + 2 + + name + support.function.adverb.perl6fe + + 3 + + name + string.quoted.construct.perl6fe + + 4 + + name + support.function.adverb.perl6fe + + 5 + + name + entity.other.attribute-name.heredoc.delimiter.perl6fe + + + end + \s*\5 + endCaptures + + 0 + + name + entity.other.attribute-name.heredoc.delimiter.perl6fe + + + name + meta.heredoc.perl6fe + patterns + + + begin + (?<=/) + end + \n + name + meta.heredoc.continuation.perl6fe + patterns + + + include + $self + + + + + match + (?x) ^ (?: . | \n )* $ + name + string.quoted.q.heredoc.perl6fe + + + + + include + source.quoting.perl6fe + + + include + #variables + + + begin + (?x)(?<![%$&@]|\w)(?:(multi|proto)\s+)?(macro|sub|submethod|method|multi|only|category)\s+(!)?([^\s(){}]+) + beginCaptures + + 1 + + name + storage.type.declarator.multi.perl6fe + + 2 + + name + storage.type.declarator.type.perl6fe + + 3 + + name + support.class.method.private.perl6fe + + 4 + + patterns + + + captures + + 1 + + name + entity.name.function.perl6fe + + 2 + + name + punctuation.definition.function.adverb.perl6fe + + 3 + + name + support.type.class.adverb.perl6fe + + 4 + + patterns + + + include + $self + + + + + match + (?x) ( [\p{Digit}\p{Alpha}'\-_]+ ) \b (:)? (\w+ \b )? (\S+ )? + + + + + end + (?=[\(\{\s]) + + + begin + (?<![\.:])(regex|rule|token)(?!\s*=>|\S) + beginCaptures + + 1 + + name + storage.type.declare.regexp.named.perl6fe + + + end + (?<!\\)\} + endCaptures + + 0 + + name + punctuation.definition.regexp.named.perl6fe + + + name + meta.regexp.named.perl6fe + patterns + + + match + TOP + name + entity.name.function.regexp.named.TOP.perl6fe + + + match + [\p{Digit}\p{Alpha}'\-_]+ + name + entity.name.function.regexp.named.perl6fe + + + captures + + 1 + + name + punctuation.definition.regexp.adverb.perl6fe + + 2 + + name + support.type.class.adverb.perl6fe + + + match + (:)(\w+) + name + meta.regexp.named.adverb.perl6fe + + + begin + < + contentName + string.array.words.perl6fe + end + (?x) \\\\|(?<!\\) ( > ) (?=[\s\{]) + + + begin + « + contentName + string.array.words.chevron.perl6fe + end + (?x) \\\\|(?<!\\) ( » ) (?=[\s\{]) + + + begin + \( + captures + + 0 + + name + punctuation.definition.regexp.named.signature.perlfe + + + end + (?<!\\)\) + name + meta.regexp.named.signature.perl6fe + patterns + + + include + $self + + + + + begin + \{ + captures + + 0 + + name + punctuation.definition.regex.named.perl6fe + + + end + (?=\}) + name + meta.regexp.named.block.perl6fe + patterns + + + include + #interpolation + + + include + source.regexp.perl6fe + + + + + + + match + \b(?<![\-:])(self)(?!\-)\b + name + variable.language.perl6fe + + + match + \b(?<![\-:])(use|require|no|need)(?!\-)\b + name + keyword.other.include.perl6fe + + + match + (?x)\b(?<![\-:])(if|else|elsif|unless|with|orwith|without)(?!\-)\b + name + keyword.control.conditional.perl6fe + + + match + \b(?<![\-:])(let|my|our|state|temp|has|constant)(?!\-)\b + name + storage.modifier.declarator.perl6fe + + + begin + (?x)(?<==|for)\s*(<) + beginCaptures + + 1 + + name + span.keyword.operator.array.words.perl6fe + + + contentName + string.array.words.perl6fe + end + (?x) \\\\|(?<!\\) ( > ) + endCaptures + + 1 + + name + span.keyword.operator.array.words.perl6fe + + + patterns + + + include + source.quoting.perl6fe#q_bracket_string_content + + + + + match + (?x)(?:[+:\-.*/]|\|\|)?(?<!=)=(?![>=~]) + name + storage.modifier.assignment.perl6fe + + + begin + (?x)(?<!\+<|\+\s|\+)\s*(<)(?<!>)(?=[^<]*(?:[^<])>) + beginCaptures + + 1 + + name + span.keyword.operator.array.words.perl6fe + + + contentName + string.array.words.perl6fe + end + (?x) \\\\|(?<!\\) ( > ) + endCaptures + + 1 + + name + span.keyword.operator.array.words.perl6fe + + + + + match + \b(for|loop|repeat|while|until|gather|given)(?!\-)\b + name + keyword.control.repeat.perl6fe + + + match + (?x)\b(?<![\-:.])(take|do|when|next|last|redo|return|return-rw|contend|maybe|defer|default|exit|quietly|continue|break|goto|leave|supply|async|lift|await|start|react|whenever|parse)(?!-)\b + name + keyword.control.flowcontrol.perl6fe + + + match + (?x)\b(?<![\-:])(make|made)(?!-)\b + name + keyword.control.flowcontrol.regex.perl6fe + + + match + (?x)\b(?<![\-:])(is|does|as|but|trusts|of|returns|handles|where|augment|supersede)(?!\-)\b(?!\s*=>) + name + storage.modifier.type.constraints.perl6fe + + + match + (?x)\b(?<![\-:])(BEGIN|CHECK|INIT|START|FIRST|ENTER|LEAVE|KEEP|UNDO|NEXT|LAST|PRE|POST|END|CATCH|CONTROL|TEMP|QUIT)(?!\-)\b + name + keyword.control.closure.trait.perl6fe + + + match + \b(?<![\-:])(die|fail|try|warn)(?!\-)\b(?!\s*=>) + name + keyword.control.control-handlers.perl6fe + + + match + (?x)\b(?<![\-:])(prec|irs|ofs|ors|export|raw|deep|binary|unary|reparsed|rw|parsed|cached|readonly|defequiv|will|ref|copy|inline|tighter|looser|equiv|assoc|required|pure)(?!\-)\b(?!\s*=>) + name + entity.name.type.trait.perl6fe + + + match + \b(NaN|Inf)(?!\-)\b + name + constant.numeric.perl6fe + + + match + \b(True|False)\b + name + constant.language.boolean.perl6fe + + + match + (?x)\b(?<![\-:])(fatal|internals|MONKEY\-(?:TYPING|SEE\-NO\-EVAL|BRAINS|GUTS|BUSINESS|TRAP|SHINE|WRENCH|BARS)|nqp|QAST|strict|trace|worries|invocant|parameters|experimental|cur|soft|variables|attributes|v6(?:\.\w)*|lib|Test|NativeCall)(?!\-)\b(?!\s*=>) + name + constant.language.pragma.perl6fe + + + captures + + 0 + + name + support.type.exception.perl6fe + + + match + (?x)(?<![:\-\w])(Backtrace|Exception|Failure|X)(?:\:\:[a-zA-Z]+)*\b + + + captures + + 1 + + name + support.type.perl6fe + + 2 + + name + support.class.type.adverb.perl6fe + + + match + (?x)\b(?<!:)(AST|Any|Array|Associative|Attribute|Bag|BagHash|Baggy|Blob|Block|Bool|Callable|Capture|Channel|Code|Complex|Cool|CurrentThreadScheduler|Cursor|Date|DateTime|Dateish|Duration|Enum|FatRat|Grammar|Hash|IO|Instant|Iterable|Iterator|Junction|Label|List|Lock|Macro|Map|Match|Metamodel|Method|Mix|MixHash|Mixy|Mu|Nil|Numeric|ObjAt|Pair|Parameter|Pod|Positional|PositionalBindFailover|Proc|Promise|Proxy|QuantHash|Range|Rat|Rational|Real|Regex|Routine|Scheduler|Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|str|Stringy|Sub|Submethod|Supply|Tap|Temporal|Thread|ThreadPoolScheduler|Variable|Version|Whatever|WhateverCode|bool|size_t|Int|int|int1|int2|int4|int8|int16|int32|int64|Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64|Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64|UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32|uint64|utf8|utf16|utf32|Num|num|num32|num64|IntStr|NumStr|RatStr|ComplexStr|CArray|Pointer|long|longlong|Order|More|Less|Same)\b(?!\s*=>) + + + match + (?x)(\[/\]) + name + keyword.operator.reduction.perl6fe + + + captures + + 1 + + name + keyword.operator.adverb.perl6fe + + 2 + + name + keyword.other.special-method.definedness.perl6fe + + + match + (?<=\w)(\:)([DU_])\b + name + meta.adverb.definedness.perl6fe + + + match + (?x)\b(div|mod|gcd|lcm|x|xx|temp|let|but|cmp|leg|eq|ne|gt|ge|lt|le|before|after|eqv|min|max|ff|fff|not|so|Z|and|andthen|or|orelse)\b(?!\-)|\b(X)(?!:)\b + name + keyword.operator.word.perl6fe + + + captures + + 1 + + name + keyword.operator.approx-equal.perl6fe + + + match + (=~=|≅) + name + meta.operator.non.ligature.perl6fe + + + match + (?x)<==|==>|<=>|=>|-->|->|\+\||\+\+|--|\*\*|\?\?\?|\?\?|\!\!\!|\!\!|&&|\+\^|\?\^|%%|\+&|\+<|\+>|\+\^|\.\.(?!\.)|\.\.\^|\^\.\.|\^\.\.\^|\?\||!=(?!\=)|!==(?!\=)|<=(?!>)|>=|===|==|=:=|~~|\x{2245}|\|\||\^\^|\/\/|:=|::=|\.\.\. + name + keyword.operator.multi-symbol.perl6fe + + + include + #special_variables + + + captures + + 1 + + name + constant.language.whatever.perl6fe + + 2 + + name + keyword.operator.minus.back-from.perl6fe + + 3 + + name + constant.numeric.back-from.perl6fe + + + match + (?x)(?<=\[)\s*(\*)\s*([\-\*%\^\+\/]|div|mod|gcd|lcm)\s*(\d+)\s*(?=\]) + name + meta.subscript.whatever.perl6fe + + + match + \*\s*(?=\]) + name + constant.language.whatever.hack.perl6fe + + + captures + + 1 + + name + keyword.operator.colon.perl6fe + + + match + (?x)\b(?<![\-\\])(::)?(exists)(?!\-)\b(?!\s*=>) + name + support.function.perl6fe + + + captures + + 1 + + name + keyword.operator.colon.perl6fe + + + match + (?x)\b(?<![\-:\\])(::)?(eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints|chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin|classify|first|sum|keys|values|pairs|defined|delete|exists|elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push|shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign|sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2|pick|chop|chomp|lc|lcfirst|uc|ucfirst|capitalize|mkdir|normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars|nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead|nothing|want|bless|chr|ord|ords|gmtime|time|eof|localtime|gethost|getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs|codes|bytes|clone|print|open|read|write|readline|say|seek|close|opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink|symlink|unique|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan|sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh|sech|acosech|acotanh|asech|ok|nok|plan-ok|dies-ok|lives-ok|skip|todo|pass|flunk|force-todo|use-ok|isa-ok|diag|is-deeply|isnt|like|skip-rest|unlike|cmp-ok|eval-dies-ok|nok-error|cmp-ok|eval-lives-ok|approx|is-approx|throws-ok|version-lt|plan|EVAL|succ|pred|times|nonce|once|signature|new|connect|operator|undef|undefine|sleep|from|to|infix|postfix|prefix|circumfix|can-ok|postcircumfix|minmax|lazy|count|unwrap|getc|pi|tau|context|void|quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity|assuming|rewind|callwith|callsame|nextwith|nextsame|attr|does-ok|eval-elsewhere|none|not|srand|so|trim|trim-start|trim-end|lastcall|WHAT|WHY|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not|iterator|by|re|im|invert|flip|gist|flat|tree|is-prime|throws-like|trans|race|hyper|tap|emit|done-testing|quit|dd|note|prepend|categorize|antipairs|categorize-list|parse-base|base|starts-with|ends-with|put|append|tail|\x{03C0}|\x{03C4}|\x{212F}|get|words|new-from-pairs|uniname|uninames|uniprop|uniprops|slurp-rest|throw|break|keep|match|trim-leading|trim-trailing|is-lazy|pull-one|push-exactly|push-at-least|push-all|push-until-lazy|sink-all|skip-at-least|skip-at-least-pull-one)(?!\-)\b(?!\s*=>) + name + support.function.perl6fe + + + match + (?x)\b(?<![\-:]|\\)(?<=\.)(e|d|f|s|l|r|w|rw|x|rwx|z|abspath|basename|extension|dirname|watch|is-absolute|parts|volume|path|is-relative|parent|child|resolve|dir)(?!\-)\b(?!\s*=>) + name + support.function.perl6fe + + + include + #numbers + + + match + (?x)(?<!\(|\*)\%|[\^\+><\*\!\?~\/\|]|(?<!\$)\.|(?<!:):(?!:)|(?<=\s)\-(?=[\s\(\{\[])|(?<!\w)[o\x{2218}](?!\w) + name + keyword.operator.generic.perl6fe + + + match + (?x)(?<=^|\W|\s)([\w'\-]+)\s*(?==>) + name + string.pair.key.perl6fe + + + match + (?x)\b(?<!\d)([a-zA-Z_\x{c0}-\x{ff}\$])([a-zA-Z0-9_\x{c0}-\x{ff}\$]|[\-'][a-zA-Z_\x{c0}-\x{ff}\$][a-zA-Z0-9_\x{c0}-\x{ff}\$])* + name + routine.name.perl6fe + + + begin + (?<=\:)(\d+)(<) + beginCaptures + + 1 + + name + support.type.radix.perl6fe + + 2 + + name + punctuation.definition.radix.perl6fe + + + contentName + constant.numeric.perl6fe + end + > + endCaptures + + 0 + + name + punctuation.definition.radix.perl6fe + + + + + begin + \{ + beginCaptures + + 0 + + name + punctuation.definition.block.perl6fe + + + end + \} + endCaptures + + 0 + + name + punctuation.definition.block.perl6fe + + + name + meta.block.perl6fe + patterns + + + include + $self + + + + + repository + + comment-block-abbreviated + + patterns + + + begin + ^\s*(=)(head\w*)\s+(.+?)\s*$ + captures + + 1 + + name + storage.modifier.block.abbreviated.perl6fe + + 2 + + name + entity.other.attribute-name.block.abbreviated.perl6fe + + 3 + + name + entity.name.section.abbreviated.perl6fe + patterns + + + include + #comment-block-syntax + + + + + contentName + entity.name.section.head.abbreviated.perl6fe + end + (?=^\s*$|^\s*=\w+.*$) + patterns + + + include + #comment-block-syntax + + + + + begin + ^\s*(=)(\w+)\s+(.+?)\s*$ + captures + + 1 + + name + storage.modifier.block.abbreviated.perl6fe + + 2 + + name + entity.other.attribute-name.block.abbreviated.perl6fe + + 3 + + name + entity.name.section.abbreviated.perl6fe + patterns + + + include + #comment-block-syntax + + + + + contentName + comment.block.abbreviated.perl6fe + end + (?=^\s*$|^\s*=\w+.*$) + patterns + + + include + #comment-block-syntax + + + + + + comment-block-delimited + + patterns + + + begin + ^\s*(=)(begin)\s+(\w+) + captures + + 1 + + name + storage.modifier.block.delimited.perl6fe + + 2 + + name + keyword.operator.block.delimited.perl6fe + + 3 + + name + entity.other.attribute-name.block.delimited.perl6fe + + + contentName + comment.block.delimited.perl6fe + end + ^\s*(=)(end)\s+(\w+) + patterns + + + include + #comment-block-syntax + + + + + + comment-block-syntax + + patterns + + + include + #comment-block-delimited + + + include + #comment-block-abbreviated + + + begin + (?x)(U)(<<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.underline.perl6fe + end + (?x) (>>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_triple_angle_string_content + + + + + begin + (?x)(I)(<<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.italic.perl6fe + end + (?x) (>>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_triple_angle_string_content + + + + + begin + (?x)(B)(<<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.bold.perl6fe + end + (?x) (>>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_triple_angle_string_content + + + + + begin + (?x)([A-Z])(<<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.raw.code.perl6fe + end + (?x) (>>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_triple_angle_string_content + + + + + begin + (?x)(U)(<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.underline.perl6fe + end + (?x) (>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_double_angle_string_content + + + + + begin + (?x)(I)(<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.italic.perl6fe + end + (?x) (>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_double_angle_string_content + + + + + begin + (?x)(B)(<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.bold.perl6fe + end + (?x) (>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_double_angle_string_content + + + + + begin + (?x)([A-Z])(<<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.raw.code.perl6fe + end + (?x) (>>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_double_angle_string_content + + + + + begin + (?x)(U)(<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.underline.perl6fe + end + (?x) (>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_angle_string_content + + + + + begin + (?x)(I)(<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.italic.perl6fe + end + (?x) (>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_angle_string_content + + + + + begin + (?x)(B)(<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.bold.perl6fe + end + (?x) (>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_angle_string_content + + + + + begin + (?x)([A-Z])(<) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.raw.code.perl6fe + end + (?x) (>) + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_angle_string_content + + + + + begin + (?x)(U)(«) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.underline.perl6fe + end + (?x) (») + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_chevron_string_content + + + + + begin + (?x)(I)(«) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.italic.perl6fe + end + (?x) (») + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_chevron_string_content + + + + + begin + (?x)(B)(«) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.bold.perl6fe + end + (?x) (») + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_chevron_string_content + + + + + begin + (?x)([A-Z])(«) + beginCaptures + + 1 + + name + support.function.pod.code.perl6fe + + 2 + + name + punctuation.section.embedded.pod.code.perl6fe + + + contentName + markup.raw.code.perl6fe + end + (?x) (») + endCaptures + + 1 + + name + punctuation.section.embedded.pod.code.perl6fe + + + name + meta.pod.c.perl6fe + patterns + + + include + #comment-block-syntax + + + include + source.quoting.perl6fe#q_chevron_string_content + + + + + + hex_escapes + + patterns + + + captures + + 1 + + name + keyword.punctuation.hex.perl6fe + + 2 + + name + keyword.operator.bracket.open.perl6fe + + 3 + + name + routine.name.hex.perl6fe + + 4 + + name + keyword.operator.bracket.close.perl6fe + + + match + (?x)(\\x)(\[)([\dA-Fa-f]+)(\]) + name + punctuation.hex.perl6fe + + + + interpolation + + patterns + + + captures + + 1 + + name + variable.other.identifier.sigil.perl6fe + + 2 + + name + support.class.twigil.interpolated.perl6fe + + 5 + + patterns + + + begin + < + beginCaptures + + 0 + + name + keyword.operator.chevron.open.perl6fe + + + end + > + endCaptures + + 0 + + name + keyword.operator.chevron.close.perl6fe + + + + + begin + \[ + beginCaptures + + 0 + + name + keyword.operator.bracket.open.perl6fe + + + end + \] + endCaptures + + 0 + + name + keyword.operator.bracket.close.perl6fe + + + patterns + + + include + $self + + + + + + 6 + + name + keyword.operator.dot.perl6fe + + 7 + + name + support.function.perl6fe + + 8 + + begin + ( + beginCaptures + + 0 + + name + keyword.operator.paren.open.perl6fe + + + end + ) + endCaptures + + 0 + + name + keyword.operator.paren.close.perl6fe + + + patterns + + + include + $self + + + + + match + (?x)(?<!\\)(\$|@|%|&)(?!\$)(\.|\*|:|!|\^|~|=|\?)?([\p{Alpha}_])([\p{Digit}\p{Alpha}_]|[\-'][\p{Digit}\p{Alpha}_])*(\[.*\])?#(?:(?:(\.)([\p{Alpha}](?:[\p{Digit}\p{Alpha}_]|[\-'][\p{Digit}\p{Alpha}_])*))?(\(.*?\)))? + name + variable.other.identifier.interpolated.perl6fe + + + include + #hex_escapes + + + include + #regexp-variables + + + begin + (?x)(?<!m|rx|m:i|rx:i)(\{) + beginCaptures + + 1 + + name + punctuation.section.embedded.begin.perl6fe + + + end + (\}) + endCaptures + + 1 + + name + punctuation.section.embedded.end.perl6fe + + + name + meta.interpolation.perl6fe + patterns + + + include + $self + + + + + + numbers + + patterns + + + match + (?x)(?<=^|[=,;^\s{\[(/]|\.\.)[-−+]?0[bodx]\w+ + name + constant.numeric.radix.perl6fe + + + match + (?x)(?<=^|[×÷*=,:;^\s{\[(/]|\.\.|…)(?:\^?[+\-−])?(?:(?:\d+(?:[\_\d]+\d)?)(?:\.\d+(?:[\_\d]+\d)?)?)(?:e(?:-|−)?\d+(?:[\_\d]+\d)?)? + name + constant.numeric.perl6fe + + + match + (?x)(?<=^|[×÷*=,:;^\s{\[(/]|\.\.)(?:[+-−])?(?:(?:\.\d+(?:[\_\d]+\d)?))(?:e(?:-|−)?\d+(?:[\_\d]+\d)?)? + name + constant.numeric.perl6fe + + + + p5_escaped_char + + patterns + + + match + \\\d+ + name + constant.character.escape.perl + + + match + \\c[^\s\\] + name + constant.character.escape.perl + + + match + \\g(?:\{(?:\w*|-\d+)\}|\d+) + name + constant.character.escape.perl + + + match + \\k(?:\{\w*\}|<\w*>|'\w*') + name + constant.character.escape.perl + + + match + \\N\{[^\}]*\} + name + constant.character.escape.perl + + + match + \\o\{\d*\} + name + constant.character.escape.perl + + + match + \\(?:p|P)(?:\{\w*\}|P) + name + constant.character.escape.perl + + + match + \\x(?:[0-9a-zA-Z]{2}|\{\w*\})? + name + constant.character.escape.perl + + + match + \\. + name + constant.character.escape.perl + + + + p5_regex + + patterns + + + begin + (?x)(?<![\w\/])(m|rx)\s*((?:\s*:\w+)*)?(:P5)((?:\s*:\w+)*)?\s*(\{) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + entity.name.section.p5.adverb.regexp.perl6fe + + 4 + + name + entity.name.section.adverb.regexp.perl6fe + + 5 + + name + punctuation.definition.regexp.perl6fe + + + contentName + string.regexp.p5.perl6fe + end + (?<!\\)(\})([gmixXsuUAJ]+)? + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + 2 + + name + invalid.illegal.p5.regexp.modifier.perl6fe + + + patterns + + + include + #p5_escaped_char + + + include + source.quoting.perl6fe#q_brace_string_content + + + + + begin + (?x)(?<![\w\/])(m|rx)\s*((?:\s*:\w+)*)?(:P5)((?:\s*:\w+)*)?\s*(\[) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + entity.name.section.p5.adverb.regexp.perl6fe + + 4 + + name + entity.name.section.adverb.regexp.perl6fe + + 5 + + name + punctuation.definition.regexp.perl6fe + + + contentName + string.regexp.p5.perl6fe + end + (?<!\\)(\])([gmixXsuUAJ]+)? + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + 2 + + name + invalid.illegal.p5.regexp.modifier.perl6fe + + + patterns + + + include + #p5_escaped_char + + + include + source.quoting.perl6fe#q_bracket_string_content + + + + + begin + (?x)(?<![\w\/])(m|rx)\s*((?:\s*:\w+)*)?(:P5)((?:\s*:\w+)*)?\s*(\/) + beginCaptures + + 1 + + name + string.regexp.construct.perl6fe + + 2 + + name + entity.name.section.adverb.regexp.perl6fe + + 3 + + name + entity.name.section.p5.adverb.regexp.perl6fe + + 4 + + name + entity.name.section.adverb.regexp.perl6fe + + 5 + + name + punctuation.definition.regexp.perl6fe + + + contentName + string.regexp.p5.perl6fe + end + (?<!\\)(\/)([gmixXsuUAJ]+)? + endCaptures + + 1 + + name + punctuation.definition.regexp.perl6fe + + 2 + + name + invalid.illegal.p5.regexp.modifier.perl6fe + + + patterns + + + include + #p5_escaped_char + + + include + source.quoting.perl6fe#q_slash_string_content + + + + + + q_right_double_right_double_string_content + + begin + + end + + patterns + + + include + #q_right_double_right_double_string_content + + + + regexp-variables + + patterns + + + begin + \$(?=\<) + beginCaptures + + 0 + + name + variable.other.identifier.sigil.regexp.perl6 + + + end + (?![\w\<\>]) + name + meta.match.variable.perl6fe + patterns + + + captures + + 1 + + name + support.class.match.name.delimiter.regexp.perl6fe + + 2 + + name + variable.other.identifier.regexp.perl6 + + 3 + + name + support.class.match.name.delimiter.regexp.perl6fe + + + match + (\<)([\w\-]+)(\>) + + + + + + shellquotes + + patterns + + + begin + ([qQ]x)\s*({{) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + }} + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.single.perl6fe + patterns + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + ([qQ]x)\s*({) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + } + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.single.perl6fe + patterns + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + ([qQ]x)\s*(\[\[) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + \]\] + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.single.perl6fe + patterns + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + ([Qq]x)\s*(\[) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + \] + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.single.perl6fe + patterns + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + ([Qq]x)\s*(\|) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + \| + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.single.perl6fe + patterns + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + ([Qq]x)\s*(\/) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + (?<!\\)\/ + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.single.perl6fe + patterns + + + match + \\\/ + name + constant.character.escape.perl6fe + + + include + source.quoting.perl6fe#q_single_string_content + + + + + begin + (qqx)\s*({{) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + }} + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.double.perl6fe + patterns + + + include + #interpolation + + + include + #variables + + + include + source.shell + + + + + begin + (qqx)\s*({) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + } + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.double.perl6fe + patterns + + + include + #interpolation + + + include + #variables + + + include + source.shell + + + + + begin + (qqx)\s*(\[\[) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + \]\] + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.double.perl6fe + patterns + + + include + #interpolation + + + include + #variables + + + include + source.shell + + + + + begin + (qqx)\s*(\[) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + \] + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.double.perl6fe + patterns + + + include + #interpolation + + + include + #variables + + + include + source.shell + + + + + begin + (qqx)\s*(\|) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + \| + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.double.perl6fe + patterns + + + include + #interpolation + + + include + #variables + + + include + source.shell + + + + + begin + (qqx)\s*(\/) + beginCaptures + + 1 + + name + string.quoted.q.shell.operator.perl6fe + + 2 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + end + (?<!\\)\/ + endCaptures + + 0 + + name + punctuation.section.embedded.shell.begin.perl6fe + + + name + meta.shell.quote.double.perl6fe + patterns + + + match + \\\/ + name + constant.character.escape.perl6fe + + + include + #interpolation + + + include + #variables + + + include + source.shell + + + + + + special_variables + + patterns + + + match + (?x)[\$\@](?=[\s,;\{\[\(])|(?<=[\(\,])\s*%(?![\w\*\!\?\.\^:=~])|\$_|\$\/|\$\!(?!\w)|\$\d(?!\w) + name + keyword.other.special-method.perl6fe + + + + variables + + patterns + + + include + #regexp-variables + + + captures + + 1 + + name + variable.other.identifier.sigil.perl6fe + + 2 + + name + support.class.twigil.perl6fe + + 3 + + name + variable.other.identifier.perl6fe + + + match + (?x)(\$|@|%|&)(\.|\*|:|!|\^|~|=|\?)?((?:[\p{Alpha}_])(?:[\p{Digit}\p{Alpha}_]|[\-'][\p{Digit}\p{Alpha}_])*) + name + meta.variable.container.perl6fe + + + + + scopeName + source.perl6fe + uuid + B7052DDC-50DD-42C5-8EF3-C688B0397492 + + diff --git a/info.plist b/info.plist new file mode 100644 index 0000000..cfa407e --- /dev/null +++ b/info.plist @@ -0,0 +1,16 @@ + + + + + contactEmailRot13 + purr@fabbg.pyhvo + contactName + chee rabbits + description + New shiny bundle for X. + name + Six + uuid + CF890B14-45D6-46C1-BE06-16C92E4F38DD + +