Created
September 19, 2018 18:14
-
-
Save stevan/33a4ef63dbc7ed075259e57f2c8e3bfb to your computer and use it in GitHub Desktop.
Slightly tweaked Perl and Modern Perl Sublime/TextMate Syntax files that handle syntax for decorators.pm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
| <!-- | |
| This file was generated automatically by yaml2plist.pl from ModernPerl.tmLanguage.yaml.ep. | |
| DO NOT edit this file directly. Instead, use yaml2plist.pl to generate it. | |
| --> | |
| <plist version="1.0"> | |
| <dict> | |
| <key>comment</key> | |
| <string>Blaise Roth <[email protected]></string> | |
| <key>fileTypes</key> | |
| <array> | |
| <string>pl</string> | |
| <string>PL</string> | |
| <string>pm</string> | |
| <string>pod</string> | |
| <string>t</string> | |
| </array> | |
| <key>firstLineMatch</key> | |
| <string>^#!.*\bperl\b</string> | |
| <key>name</key> | |
| <string>ModernPerl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#line_comment</string> | |
| </dict> | |
| <dict> | |
| <key>include</key> | |
| <string>#pod</string> | |
| </dict> | |
| <dict> | |
| <key>comment</key> | |
| <string>These would otherwise be highlighted as variables or regex, but they're more likely to be an operator (or two).</string> | |
| <key>match</key> | |
| <string><![CDATA[(?x) [&%*][!\-~=] | && | \*\* | //]]></string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>support.function.sigil.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.var.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| ( & \g<identifier> ) | |
| | | |
| ( | |
| \$\# (?:\$\s*)* \g<normal_identifier> | |
| | | |
| (?: [@$] \s* | [%*] ) | |
| (?<identifier> | |
| (?:\$\s*)* | |
| (?: | |
| # digit variable like $2 | |
| ( | |
| \d+ | |
| | | |
| (?:::)+ \d+ (?!\w|::|'[^\W\d]) | |
| ) | |
| | | |
| { \s* \g<-1> \s* } | |
| | | |
| (?<normal_identifier> # normal variable like $foo::bar'baz | |
| ( | |
| (?: | |
| (?:::|'?[^\W\d]) \w* | |
| )++ | |
| ) | |
| | | |
| { \s* \g<-1> \s* } | |
| ) | |
| | | |
| # caret variable like $^W or ${^Word} | |
| (\^ [^\W\d\p{Lower}]) | |
| | | |
| { \s* \g<-1> \w* \s* } | |
| | | |
| # punctuation variable like $[ | |
| ([^[^!-~]{\w\s]) | |
| | | |
| { \s* \g<-1> \s* } | |
| | | |
| # just highlight the sigil for something like ${ +arbitrary } | |
| (?={) | |
| ) | |
| ) | |
| | | |
| # these characters aren't another operator, so always highlight them as sigils | |
| [@$] \s* | |
| ) | |
| ]]></string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.string.perl</string> | |
| </dict> | |
| </dict> | |
| <key>comment</key> | |
| <string>Turns out this operator needs to be really high up. It always autoquotes word characters. It even autoquotes q=>=, making it almost impossible to have a literal > at position 0 of a q==! There is a way, though! CORE::q=>=. There's always a way!</string> | |
| <key>match</key> | |
| <string>(-?\b[^\W\d]\w*\??+)\s*+=></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? qw? ) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| | | |
| (') | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>8</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.quoted.single.perl</string> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)}) | |
| | | |
| ([\7\8[&&]]) | |
| ) | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>name</key> | |
| <string>meta.string.q.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? qq ) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| | | |
| (") | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>8</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.quoted.double.perl</string> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)}) | |
| | | |
| ([\7\8[&&]]) | |
| ) | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>name</key> | |
| <string>meta.string.qq.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? qx ) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| | | |
| (`) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>8</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.interpolated.perl</string> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)}) | |
| | | |
| ([\7\8[&&]]) | |
| ) | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>name</key> | |
| <string>meta.string.qx.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=')</string> | |
| <key>end</key> | |
| <string>(?=')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? qr ) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.regexp.perl</string> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)}) | |
| | | |
| ([\7[&&]]) | |
| ) | |
| ([adilmnopsux]*) (\w*) | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>name</key> | |
| <string>meta.regexp.qr.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=')</string> | |
| <key>end</key> | |
| <string>(?=')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string><![CDATA[(?x) | |
| \b ( (?:CORE::)? m ) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| | | |
| # Guessing whether a / is a division or the start of a regex is pretty tricky! | |
| (?=\s*/) # optimisation to fail faster | |
| (?: | |
| # punctuation to expect before a /regex/ | |
| (?<=[^[^!-~]\w\s]) | |
| (?: | |
| (?<= | |
| # binding operators - definitely a regex | |
| [=!~]~ | |
| | | |
| # probably a regex | |
| [,;!({\[] | => | && | \|\| | |
| ) | |
| | | |
| # assignment - but not a mutator, comparison, or variable | |
| (?<= = ) | |
| (?<! [*/%%%x+\-.=!<>&|^@$] = ) | |
| ) | |
| | | |
| # named operators you'd expect before a /regex/ | |
| \b | |
| (?: | |
| # never gonna be perfect with the limitations of lookbehinds, but this is close | |
| (?<= if | or ) | |
| (?: (?<=CORE::.{2}) (?<![\w'@$&*%].{8}|::.{8}|->.{8}) | (?<![\w'@$&*%].{2}|::.{2}|->.{2}) ) | |
| | | |
| (?<= and | die | for | not | say | xor ) | |
| (?: (?<=CORE::.{3}) (?<![\w'@$&*%].{9}|::.{9}|->.{9}) | (?<![\w'@$&*%].{3}|::.{3}|->.{3}) ) | |
| | | |
| (?<= exit | warn | when ) | |
| (?: (?<=CORE::.{4}) (?<![\w'@$&*%].{10}|::.{10}|->.{10}) | (?<![\w'@$&*%].{4}|::.{4}|->.{4}) ) | |
| | | |
| (?<= print | split | until | while ) | |
| (?: (?<=CORE::.{5}) (?<![\w'@$&*%].{11}|::.{11}|->.{11}) | (?<![\w'@$&*%].{5}|::.{5}|->.{5}) ) | |
| | | |
| (?<= return | unless ) | |
| (?: (?<=CORE::.{6}) (?<![\w'@$&*%].{12}|::.{12}|->.{12}) | (?<![\w'@$&*%].{6}|::.{6}|->.{6}) ) | |
| | | |
| (?<= defined | foreach ) | |
| (?: (?<=CORE::.{7}) (?<![\w'@$&*%].{13}|::.{13}|->.{13}) | (?<![\w'@$&*%].{7}|::.{7}|->.{7}) ) | |
| ) | |
| ) | |
| \s*+ (\/) | |
| | | |
| # otherwise we can try for a single line /regex/ if it's after space | |
| (\/) (?<=\s/|^/) | |
| (?= | |
| (?: | |
| # something like / / is pretty common | |
| \s+ | |
| | | |
| # this means no spaces at the start or end unless they're backslashed | |
| # so /\ woo regex\ / works | |
| (?!\s) | |
| (?: [^\\/] | \\. )* | |
| (?: [^\\/\s] | \\. ) | |
| ) | |
| \/ | |
| ) | |
| ]]></string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>8</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>9</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.regexp.perl</string> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)}) | |
| | | |
| ([\7\8\9[&&]]) | |
| ) | |
| ([acdgilmnopsux]*) (\w*) | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>name</key> | |
| <string>meta.regexp.m.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=')</string> | |
| <key>end</key> | |
| <string>(?=')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) \b (?= ( (?:CORE::)? s ) \s* ([^[^!-~]\w\s]) )</string> | |
| <key>end</key> | |
| <string>(?!\b\1\s*\2)</string> | |
| <key>name</key> | |
| <string>meta.regexp.s.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \! )</string> | |
| <key>end</key> | |
| <string>(?x) (\!) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\!)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\!) | |
| (?: | |
| (?! \g<3> \! ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\!)</string> | |
| <key>end</key> | |
| <string>(?=\!)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \" )</string> | |
| <key>end</key> | |
| <string>(?x) (\") ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\")</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\") | |
| (?: | |
| (?! \g<3> \" ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\")</string> | |
| <key>end</key> | |
| <string>(?=\")</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \# )</string> | |
| <key>end</key> | |
| <string>(?x) (\#) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\#)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\#) | |
| (?: | |
| (?! \g<3> \# ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\#)</string> | |
| <key>end</key> | |
| <string>(?=\#)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \$ )</string> | |
| <key>end</key> | |
| <string>(?x) (\$) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\$)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\$) | |
| (?: | |
| (?! \g<3> \$ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\$)</string> | |
| <key>end</key> | |
| <string>(?=\$)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \% )</string> | |
| <key>end</key> | |
| <string>(?x) (\%) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\%)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\%) | |
| (?: | |
| (?! \g<3> \% ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\%)</string> | |
| <key>end</key> | |
| <string>(?=\%)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \& )</string> | |
| <key>end</key> | |
| <string>(?x) (\&) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\&)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\&) | |
| (?: | |
| (?! \g<3> \& ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\&)</string> | |
| <key>end</key> | |
| <string>(?=\&)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \' )</string> | |
| <key>end</key> | |
| <string>(?x) (\') ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\')</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\') | |
| (?: | |
| (?! \g<3> \' ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\')</string> | |
| <key>end</key> | |
| <string>(?=\')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\()</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?<!\()(?!\)) | |
| (?: | |
| (?<!\)|^) | |
| (?: | |
| (?<![^\W[acdegilmnoprsux]]) | |
| ([acdegilmnoprsux]*) | |
| )? | |
| (\w*) | |
| )? | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\)) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\)) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \)* | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\)) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\)) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \)* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\)</string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\()</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \) )</string> | |
| <key>end</key> | |
| <string>(?x) (\)) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\))</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\)) | |
| (?: | |
| (?! \g<3> \) ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\))</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \* )</string> | |
| <key>end</key> | |
| <string>(?x) (\*) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\*)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\*) | |
| (?: | |
| (?! \g<3> \* ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\*)</string> | |
| <key>end</key> | |
| <string>(?=\*)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \+ )</string> | |
| <key>end</key> | |
| <string>(?x) (\+) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\+)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\+) | |
| (?: | |
| (?! \g<3> \+ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\+)</string> | |
| <key>end</key> | |
| <string>(?=\+)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \, )</string> | |
| <key>end</key> | |
| <string>(?x) (\,) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\,)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\,) | |
| (?: | |
| (?! \g<3> \, ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\,)</string> | |
| <key>end</key> | |
| <string>(?=\,)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \- )</string> | |
| <key>end</key> | |
| <string>(?x) (\-) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\-)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\-) | |
| (?: | |
| (?! \g<3> \- ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\-)</string> | |
| <key>end</key> | |
| <string>(?=\-)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \. )</string> | |
| <key>end</key> | |
| <string>(?x) (\.) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\.)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\.) | |
| (?: | |
| (?! \g<3> \. ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\.)</string> | |
| <key>end</key> | |
| <string>(?=\.)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \/ )</string> | |
| <key>end</key> | |
| <string>(?x) (\/) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\/)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\/) | |
| (?: | |
| (?! \g<3> \/ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\/)</string> | |
| <key>end</key> | |
| <string>(?=\/)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \: )</string> | |
| <key>end</key> | |
| <string>(?x) (\:) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\:)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\:) | |
| (?: | |
| (?! \g<3> \: ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\:)</string> | |
| <key>end</key> | |
| <string>(?=\:)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \; )</string> | |
| <key>end</key> | |
| <string>(?x) (\;) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\;)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\;) | |
| (?: | |
| (?! \g<3> \; ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\;)</string> | |
| <key>end</key> | |
| <string>(?=\;)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\<)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?<!\<)(?!\>) | |
| (?: | |
| (?<!\>|^) | |
| (?: | |
| (?<![^\W[acdegilmnoprsux]]) | |
| ([acdegilmnoprsux]*) | |
| )? | |
| (\w*) | |
| )? | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\>) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\>) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \>* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\>) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\>) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \>* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\></string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\<)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \= )</string> | |
| <key>end</key> | |
| <string>(?x) (\=) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\=)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\=) | |
| (?: | |
| (?! \g<3> \= ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\=)</string> | |
| <key>end</key> | |
| <string>(?=\=)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \> )</string> | |
| <key>end</key> | |
| <string>(?x) (\>) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\>)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\>) | |
| (?: | |
| (?! \g<3> \> ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\>)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \? )</string> | |
| <key>end</key> | |
| <string>(?x) (\?) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\?)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\?) | |
| (?: | |
| (?! \g<3> \? ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\?)</string> | |
| <key>end</key> | |
| <string>(?=\?)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \@ )</string> | |
| <key>end</key> | |
| <string>(?x) (\@) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\@)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\@) | |
| (?: | |
| (?! \g<3> \@ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\@)</string> | |
| <key>end</key> | |
| <string>(?=\@)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\[)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?<!\[)(?!\]) | |
| (?: | |
| (?<!\]|^) | |
| (?: | |
| (?<![^\W[acdegilmnoprsux]]) | |
| ([acdegilmnoprsux]*) | |
| )? | |
| (\w*) | |
| )? | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\]) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\]) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \]* | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\]) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\]) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \]* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\]</string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\[)</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \\ )</string> | |
| <key>end</key> | |
| <string>(?x) (\\) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\\)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\\) | |
| (?: | |
| (?! \g<3> \\ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\\)</string> | |
| <key>end</key> | |
| <string>(?=\\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \] )</string> | |
| <key>end</key> | |
| <string>(?x) (\]) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\])</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\]) | |
| (?: | |
| (?! \g<3> \] ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\])</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \^ )</string> | |
| <key>end</key> | |
| <string>(?x) (\^) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\^)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\^) | |
| (?: | |
| (?! \g<3> \^ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\^)</string> | |
| <key>end</key> | |
| <string>(?=\^)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \` )</string> | |
| <key>end</key> | |
| <string>(?x) (\`) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\`)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\`) | |
| (?: | |
| (?! \g<3> \` ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\`)</string> | |
| <key>end</key> | |
| <string>(?=\`)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\{)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?<!\{)(?!\}) | |
| (?: | |
| (?<!\}|^) | |
| (?: | |
| (?<![^\W[acdegilmnoprsux]]) | |
| ([acdegilmnoprsux]*) | |
| )? | |
| (\w*) | |
| )? | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\}) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\}) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \}* | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\}) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\}) | |
| (?: ([acdegilmnoprsux]) | (\w) ) | |
| )? | |
| \}* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\}</string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\{)</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \| )</string> | |
| <key>end</key> | |
| <string>(?x) (\|) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\|)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\|) | |
| (?: | |
| (?! \g<3> \| ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\|)</string> | |
| <key>end</key> | |
| <string>(?=\|)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \} )</string> | |
| <key>end</key> | |
| <string>(?x) (\}) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\})</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\}) | |
| (?: | |
| (?! \g<3> \} ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\})</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \~ )</string> | |
| <key>end</key> | |
| <string>(?x) (\~) ([acdegilmnoprsux]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\~)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\~) | |
| (?: | |
| (?! \g<3> \~ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\~)</string> | |
| <key>end</key> | |
| <string>(?=\~)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) \b (?= ( (?:CORE::)? (?:tr|y) ) \s* ([^[^!-~]\w\s]) )</string> | |
| <key>end</key> | |
| <string>(?!\b\1\s*\2)</string> | |
| <key>name</key> | |
| <string>meta.tr.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \! )</string> | |
| <key>end</key> | |
| <string>(?x) (\!) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\!)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\!) | |
| (?: | |
| (?! \g<3> \! ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\!)</string> | |
| <key>end</key> | |
| <string>(?=\!)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \" )</string> | |
| <key>end</key> | |
| <string>(?x) (\") ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\")</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\") | |
| (?: | |
| (?! \g<3> \" ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\")</string> | |
| <key>end</key> | |
| <string>(?=\")</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \# )</string> | |
| <key>end</key> | |
| <string>(?x) (\#) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\#)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\#) | |
| (?: | |
| (?! \g<3> \# ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\#)</string> | |
| <key>end</key> | |
| <string>(?=\#)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \$ )</string> | |
| <key>end</key> | |
| <string>(?x) (\$) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\$)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\$) | |
| (?: | |
| (?! \g<3> \$ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\$)</string> | |
| <key>end</key> | |
| <string>(?=\$)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \% )</string> | |
| <key>end</key> | |
| <string>(?x) (\%) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\%)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\%) | |
| (?: | |
| (?! \g<3> \% ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\%)</string> | |
| <key>end</key> | |
| <string>(?=\%)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \& )</string> | |
| <key>end</key> | |
| <string>(?x) (\&) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\&)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\&) | |
| (?: | |
| (?! \g<3> \& ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\&)</string> | |
| <key>end</key> | |
| <string>(?=\&)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \' )</string> | |
| <key>end</key> | |
| <string>(?x) (\') ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\')</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\') | |
| (?: | |
| (?! \g<3> \' ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\')</string> | |
| <key>end</key> | |
| <string>(?=\')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\()</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?<!\()(?!\)) | |
| (?: | |
| (?<!\)|^) | |
| (?: | |
| (?<![^\W[cdrs]]) | |
| ([cdrs]*) | |
| )? | |
| (\w*) | |
| )? | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\)) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\)) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \)* | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\)) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\)) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \)* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\)</string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\()</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \) )</string> | |
| <key>end</key> | |
| <string>(?x) (\)) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\))</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\)) | |
| (?: | |
| (?! \g<3> \) ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\))</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \* )</string> | |
| <key>end</key> | |
| <string>(?x) (\*) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\*)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\*) | |
| (?: | |
| (?! \g<3> \* ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\*)</string> | |
| <key>end</key> | |
| <string>(?=\*)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \+ )</string> | |
| <key>end</key> | |
| <string>(?x) (\+) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\+)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\+) | |
| (?: | |
| (?! \g<3> \+ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\+)</string> | |
| <key>end</key> | |
| <string>(?=\+)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \, )</string> | |
| <key>end</key> | |
| <string>(?x) (\,) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\,)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\,) | |
| (?: | |
| (?! \g<3> \, ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\,)</string> | |
| <key>end</key> | |
| <string>(?=\,)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \- )</string> | |
| <key>end</key> | |
| <string>(?x) (\-) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\-)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\-) | |
| (?: | |
| (?! \g<3> \- ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\-)</string> | |
| <key>end</key> | |
| <string>(?=\-)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \. )</string> | |
| <key>end</key> | |
| <string>(?x) (\.) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\.)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\.) | |
| (?: | |
| (?! \g<3> \. ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\.)</string> | |
| <key>end</key> | |
| <string>(?=\.)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \/ )</string> | |
| <key>end</key> | |
| <string>(?x) (\/) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\/)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\/) | |
| (?: | |
| (?! \g<3> \/ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\/)</string> | |
| <key>end</key> | |
| <string>(?=\/)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \: )</string> | |
| <key>end</key> | |
| <string>(?x) (\:) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\:)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\:) | |
| (?: | |
| (?! \g<3> \: ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\:)</string> | |
| <key>end</key> | |
| <string>(?=\:)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \; )</string> | |
| <key>end</key> | |
| <string>(?x) (\;) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\;)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\;) | |
| (?: | |
| (?! \g<3> \; ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\;)</string> | |
| <key>end</key> | |
| <string>(?=\;)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\<)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?<!\<)(?!\>) | |
| (?: | |
| (?<!\>|^) | |
| (?: | |
| (?<![^\W[cdrs]]) | |
| ([cdrs]*) | |
| )? | |
| (\w*) | |
| )? | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\>) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\>) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \>* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\>) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\>) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \>* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\></string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\<)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \= )</string> | |
| <key>end</key> | |
| <string>(?x) (\=) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\=)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\=) | |
| (?: | |
| (?! \g<3> \= ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\=)</string> | |
| <key>end</key> | |
| <string>(?=\=)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \> )</string> | |
| <key>end</key> | |
| <string>(?x) (\>) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\>)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\>) | |
| (?: | |
| (?! \g<3> \> ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\>)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \? )</string> | |
| <key>end</key> | |
| <string>(?x) (\?) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\?)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\?) | |
| (?: | |
| (?! \g<3> \? ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\?)</string> | |
| <key>end</key> | |
| <string>(?=\?)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \@ )</string> | |
| <key>end</key> | |
| <string>(?x) (\@) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\@)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\@) | |
| (?: | |
| (?! \g<3> \@ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\@)</string> | |
| <key>end</key> | |
| <string>(?=\@)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\[)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?<!\[)(?!\]) | |
| (?: | |
| (?<!\]|^) | |
| (?: | |
| (?<![^\W[cdrs]]) | |
| ([cdrs]*) | |
| )? | |
| (\w*) | |
| )? | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\]) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\]) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \]* | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\]) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\]) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \]* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\]</string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\[)</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \\ )</string> | |
| <key>end</key> | |
| <string>(?x) (\\) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\\)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\\) | |
| (?: | |
| (?! \g<3> \\ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\\)</string> | |
| <key>end</key> | |
| <string>(?=\\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \] )</string> | |
| <key>end</key> | |
| <string>(?x) (\]) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\])</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\]) | |
| (?: | |
| (?! \g<3> \] ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\])</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \^ )</string> | |
| <key>end</key> | |
| <string>(?x) (\^) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\^)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\^) | |
| (?: | |
| (?! \g<3> \^ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\^)</string> | |
| <key>end</key> | |
| <string>(?=\^)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \` )</string> | |
| <key>end</key> | |
| <string>(?x) (\`) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\`)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\`) | |
| (?: | |
| (?! \g<3> \` ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\`)</string> | |
| <key>end</key> | |
| <string>(?=\`)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\{)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?<!\{)(?!\}) | |
| (?: | |
| (?<!\}|^) | |
| (?: | |
| (?<![^\W[cdrs]]) | |
| ([cdrs]*) | |
| )? | |
| (\w*) | |
| )? | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (\}) (?: \s+ (\#.*) )? \s* \n</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?: | |
| (?<=\S) | |
| | | |
| (?= ^ \s*+ [[^!-~]\w] ) | |
| ) | |
| (?: | |
| (?<=\}) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \}* | |
| </string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) ^ \s* (\#.*)? \n</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| ^ \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>((?!\2)\)|(?!\3)>|(?!\4)\]|(?!\5)})|([\6[&&]])</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (\}) \s* | |
| (?: | |
| ( (\() | (<) | (\[) | ({) ) | ([^[^!-~]\w\s]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (?: | |
| ((?!\3)\)|(?!\4)>|(?!\5)\]|(?!\6)})|([\7[&&]]) | |
| ) | |
| (?: | |
| (?<=\}) | |
| (?: ([cdrs]) | (\w) ) | |
| )? | |
| \}* | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\}</string> | |
| <key>name</key> | |
| <string></string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\{)</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \| )</string> | |
| <key>end</key> | |
| <string>(?x) (\|) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\|)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\|) | |
| (?: | |
| (?! \g<3> \| ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\|)</string> | |
| <key>end</key> | |
| <string>(?=\|)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \} )</string> | |
| <key>end</key> | |
| <string>(?x) (\}) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\})</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\}) | |
| (?: | |
| (?! \g<3> \} ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\})</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) (?= (?:CORE::)?+ \w+ \s* \~ )</string> | |
| <key>end</key> | |
| <string>(?x) (\~) ([cdrs]*) (\w*)</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.operator.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>invalid.illegal.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) ( (?:CORE::)?+ \w+ ) \s* (\~)</string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| (\~) | |
| (?: | |
| (?! \g<3> \~ ) | |
| | | |
| (?<=')(\g<3>) | |
| | | |
| ( \w+ \s* ) | |
| ) | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\~)</string> | |
| <key>end</key> | |
| <string>(?=\~)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_or_single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>include</key> | |
| <string>#heredoc_1</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| < | |
| (?<! <<) | |
| (?! [\s=]) | |
| ( | |
| (?: | |
| \s* (?: [^<>=$\s\\]+ | \\. | [=$] (?! [>]) ) | |
| )*+ | |
| ) | |
| > | |
| (?! [>=]) | |
| ]]></string> | |
| <key>name</key> | |
| <string>meta.string.glob</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.string.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) | |
| {( | |
| \s* (-?[^\W\d]\w*) | |
| | | |
| \g<-1> \s* | |
| )} | |
| </string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| \b (?:CORE::)? __(?:END|DATA)__ (?!\w|::|'[^\W\d]) | |
| | | |
| [\cD\cZ] | |
| ) | |
| [\d\D]* | |
| </string> | |
| <key>end</key> | |
| <string>(?!) # the end has no end</string> | |
| <key>name</key> | |
| <string>comment.block.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#pod</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?__(?:END|DATA|FILE|LINE|PACKAGE|SUB)__(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>constant.language.token.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.control.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.label.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? (?:dump|goto|last|next|redo) ) | |
| # | |
| (?: | |
| # open parens or space | |
| (?: \s* (?:\(\s*)+ | \s+ ) | |
| # | |
| # LABEL | |
| ([^\W\d\p{Lower}][^\W\p{Lower}]*) | |
| )? | |
| # | |
| (?!\w|::|'[^\W\d]) | |
| </string> | |
| <key>name</key> | |
| <string>meta.control.labelled.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\belse\s+if(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>invalid.illegal.else_if.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?(?:break|continue|default|dump|else|elsif|for|foreach|given|goto|if|last|next|redo|return|unless|until|when|while)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>keyword.control.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?(?:local|my|our|state)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?(?:m|q|qq|qr|qw|qx|s|tr|y)\b</string> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?(?:and|cmp|or|xor|not|lt|gt|le|ge|eq|ne|x)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>keyword.other.operator.perl</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? format ) | |
| # | |
| (?: | |
| # format picture - copied from variable | |
| (?: \s+ | |
| ((?!')(?:(?:::|'?[^\W\d])\w*)++) | |
| (?= \s* (?:=\s*)? $ ) | |
| ) | |
| | | |
| (?!\w|::|'[^\W\d]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.filehandle.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?! \s* (?:=\s*)? $ ) | |
| | | |
| ^\.\s*$ | |
| </string> | |
| <key>name</key> | |
| <string>meta.format.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>=\s*</string> | |
| <key>contentName</key> | |
| <string>string.unquoted.perl</string> | |
| <key>end</key> | |
| <string>(?=^\.\s*$)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#line_comment</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.control.package.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>entity.name.type.class.perl constant.language.string.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \b ( (?:CORE::)? package ) | |
| (?: | |
| \s+ ( | |
| # package name - copied from variable | |
| (?!')(?:(?:::|'?[^\W\d])\w*)+ | |
| ) | |
| | | |
| (?!\w|::|'[^\W\d]) | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>meta.class.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.control.package.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.string.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(?x) | |
| # autoquoting keywords | |
| \b ( (?:CORE::)? (?:use|require|no) ) | |
| (?: | |
| \s+ ( | |
| # not a version number | |
| (?!v\d) | |
| # package name - copied from variable | |
| (?!')(?:(?:::|'?[^\W\d])\w*)+ | |
| ) | |
| | | |
| (?!\w|::|'[^\W\d]) | |
| ) | |
| </string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| \b (?: | |
| ( (?:CORE::)? sub ) | |
| | | |
| # non-standard sub definitions | |
| (method|func|before|after|around) | |
| ) | |
| # | |
| # sub name - copied from variable | |
| (?: | |
| \s+ ( | |
| (?!')(?:(?:::|'?[^\W\d])\w*)++ | |
| ) | |
| | | |
| (?!\w|::|'[^\W\d]) | |
| ) | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.control.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>support.function.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>entity.name.function.perl</string> | |
| </dict> | |
| </dict> | |
| <key>end</key> | |
| <string>(?x) | |
| (?! \s* [(] | \s* $ ) | |
| | | |
| (?<= [)] ) | |
| </string> | |
| <key>name</key> | |
| <string>meta.function.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>\(</string> | |
| <key>contentName</key> | |
| <string>storage.type.method.perl</string> | |
| <key>end</key> | |
| <string>\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?(?:AUTOLOAD|BEGIN|CHECK|END|INIT|UNITCHECK)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>meta.function.perl entity.name.function.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.filehandle.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.filehandle.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>keyword.other.filetest.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.filehandle.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| # these functions can take two filehandles as arguments | |
| \b ( (?:CORE::)? (?:accept|pipe|socketpair) ) \g<6> | |
| (\g<7>) \s*,\s* (\g<7>) | |
| | | |
| (?: | |
| ( | |
| # these functions take a filehandle as the first argument | |
| \b (?:CORE::)? (?:accept|bind|binmode|chdir|close|closedir|connect|eof|fcntl|fileno|flock|formline|getc|getpeername|getsockname|getsockopt|ioctl|listen|lstat|open|opendir|pipe|print|printf|read|readdir|readline|recv|rewinddir|say|seek|seekdir|select|send|setsockopt|shutdown|socket|socketpair|stat|sysopen|sysread|sysseek|syswrite|tell|telldir|truncate|write) | |
| ) | |
| | | |
| ( | |
| # filetest operators also take a filehandle as a first argument | |
| -[ABCMORSTWXbcdefgkloprstuwxz] (?<!\w..) | |
| ) | |
| ) | |
| ( | |
| (?!\w|::|'[^\W\d]) | |
| # open parens or space | |
| (?: \s* (?:\(\s*)+ | \s+ ) | |
| ) | |
| ( | |
| # filehandle name - uppercase only | |
| (?!')(?:(?:::|'?[^\W\d\p{Lower}])[^\W\p{Lower}]*)++ | |
| (?!\w|::|'[^\W\d]|\s*\() | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>meta.function.filehandle.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>-[ABCMORSTWXbcdefgkloprstuwxz](?<!\w..)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>keyword.other.filetest.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b(?:CORE::)?(?:abs|accept|alarm|and|atan2|bind|binmode|bless|break|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|continue|cos|crypt|dbmclose|dbmopen|default|defined|delete|die|do|dump|each|else|elsif|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|evalbytes|exec|exists|exit|exp|fc|fcntl|fileno|flock|for|foreach|fork|format|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|given|glob|gmtime|goto|grep|gt|hex|if|index|int|ioctl|join|keys|kill|last|lc|lcfirst|le|length|link|listen|local|localtime|lock|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|ne|next|no|not|oct|open|opendir|or|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|q|qq|qr|quotemeta|qw|qx|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|state|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unless|unlink|unpack|unshift|untie|until|use|utime|values|vec|wait|waitpid|wantarray|warn|when|while|write|x|xor|y)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>keyword.other.function.perl</string> | |
| </dict> | |
| <dict> | |
| <key>comment</key> | |
| <string>These aren't keywords, so CORE:: isn't applicable.</string> | |
| <key>match</key> | |
| <string>\b(?:ARGV|ARGVOUT|STDERR|STDIN|STDOUT|DATA)(?!\w|::|'[^\W\d])</string> | |
| <key>name</key> | |
| <string>constant.language.filehandle.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.language.string.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>support.function.method.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| # class name | |
| (?: | |
| (?=[^[^\w:]\d])(?<!\w) | |
| (\g<2>) | |
| )? | |
| \s* -> \s* | |
| # | |
| # method name | |
| (?!')((?:(?:::|'?[^\W\d])\w*)++) | |
| ]]></string> | |
| <key>name</key> | |
| <string>meta.operator.arrow.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?xi) | |
| \b(?:0b[01_]*)(?!\w) | |
| </string> | |
| <key>name</key> | |
| <string>punctuation.definition.number.binary.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?xi) | |
| \b(?:0[0-7_]+)(?!\w) | |
| </string> | |
| <key>name</key> | |
| <string>punctuation.definition.number.octal.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?xi) | |
| \b(?:0x[\h_]*)(?!\w) | |
| </string> | |
| <key>name</key> | |
| <string>punctuation.definition.number.hex.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| \b (?: | |
| v (\d[\d_]*) (\.\d[\d_]*)* # v with 1 or more digit groups | |
| | | |
| (?!0[\d_]) \g<1> \g<2>{2,} # no v with 3 or more digit groups | |
| ) | |
| (?!\w) | |
| ]]></string> | |
| <key>name</key> | |
| <string>string.other.version.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?xi) | |
| (?: | |
| (?: | |
| # start with digit | |
| \b (?!0[\d_]) \d[\d_]*+ \.? | |
| | | |
| # start with point | |
| \B \. \d | |
| ) | |
| [\d_]* | |
| (?: e [+-]? [\d_]* )? # possible exponent | |
| ) | |
| (?!\w) | |
| </string> | |
| <key>name</key> | |
| <string>punctuation.definition.number.float.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?:\b\d|\B\.\d)\w*</string> | |
| <key>name</key> | |
| <string>invalid.illegal.number.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>\b[^\W\d\p{Lower}][^\W\p{Lower}]*+:(?!:)</string> | |
| <key>name</key> | |
| <string>constant.language.label.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?=[^[^\w:]\d])(?<!\w)(?:(?:::|'?[^\W\d])\w*)+</string> | |
| <key>name</key> | |
| <string>support.function.perl</string> | |
| </dict> | |
| </array> | |
| <key>repository</key> | |
| <dict> | |
| <key>double</key> | |
| <dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\!)</string> | |
| <key>end</key> | |
| <string>(?=\!)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\!] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\!] | |
| | | |
| [^}\!] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\")</string> | |
| <key>end</key> | |
| <string>(?=\")</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\"] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\"] | |
| | | |
| [^}\"] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\#)</string> | |
| <key>end</key> | |
| <string>(?=\#)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\#] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\#] | |
| | | |
| [^}\#] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\$)</string> | |
| <key>end</key> | |
| <string>(?=\$)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \\\$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\\\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\$] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\$] | |
| | | |
| [^}\$] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\%)</string> | |
| <key>end</key> | |
| <string>(?=\%)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\%] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\%] | |
| | | |
| [^}\%] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\&)</string> | |
| <key>end</key> | |
| <string>(?=\&)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\&] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\&] | |
| | | |
| [^}\&] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\')</string> | |
| <key>end</key> | |
| <string>(?=\')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\\\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\'] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\'] | |
| | | |
| [^}\'] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\()</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\)] | |
| ) | |
| | | |
| \{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \} | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| \{ (?!__)[_\h]* \} | |
| ) | |
| | | |
| o \{ (?!__)[_0-7]* \} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N \{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\)] | |
| | | |
| [^}\)] | |
| )*+ | |
| ) \} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\(</string> | |
| <key>end</key> | |
| <string>\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\))</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\)] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\)] | |
| | | |
| [^}\)] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\*)</string> | |
| <key>end</key> | |
| <string>(?=\*)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\*] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\*] | |
| | | |
| [^}\*] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\+)</string> | |
| <key>end</key> | |
| <string>(?=\+)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\+] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\\\+ (?:_?\h+)++ | |
| | | |
| (?! U\\\+ ) | |
| (?: | |
| \\[\\\+] | |
| | | |
| [^}\+] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\,)</string> | |
| <key>end</key> | |
| <string>(?=\,)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\,] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\,] | |
| | | |
| [^}\,] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\-)</string> | |
| <key>end</key> | |
| <string>(?=\-)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\-] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\-] | |
| | | |
| [^}\-] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\.)</string> | |
| <key>end</key> | |
| <string>(?=\.)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\.] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\.] | |
| | | |
| [^}\.] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\/)</string> | |
| <key>end</key> | |
| <string>(?=\/)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\/] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\/] | |
| | | |
| [^}\/] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\:)</string> | |
| <key>end</key> | |
| <string>(?=\:)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\\\:\\\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\:] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\:] | |
| | | |
| [^}\:] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\;)</string> | |
| <key>end</key> | |
| <string>(?=\;)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\;] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\;] | |
| | | |
| [^}\;] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\<)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\>] | |
| ) | |
| | | |
| \{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \} | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| \{ (?!__)[_\h]* \} | |
| ) | |
| | | |
| o \{ (?!__)[_0-7]* \} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N \{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\>] | |
| | | |
| [^}\>] | |
| )*+ | |
| ) \} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\<</string> | |
| <key>end</key> | |
| <string>\></string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\=)</string> | |
| <key>end</key> | |
| <string>(?=\=)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\=] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\=] | |
| | | |
| [^}\=] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\>)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\>] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\>] | |
| | | |
| [^}\>] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\?)</string> | |
| <key>end</key> | |
| <string>(?=\?)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\?] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\?] | |
| | | |
| [^}\?] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\@)</string> | |
| <key>end</key> | |
| <string>(?=\@)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \\\@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\@] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\@] | |
| | | |
| [^}\@] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\[)</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\]] | |
| ) | |
| | | |
| \{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \} | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| \{ (?!__)[_\h]* \} | |
| ) | |
| | | |
| o \{ (?!__)[_0-7]* \} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N \{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\]] | |
| | | |
| [^}\]] | |
| )*+ | |
| ) \} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\[</string> | |
| <key>end</key> | |
| <string>\]</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\\)</string> | |
| <key>end</key> | |
| <string>(?=\\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\\] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| [^}\\] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\])</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\]] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\]] | |
| | | |
| [^}\]] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\^)</string> | |
| <key>end</key> | |
| <string>(?=\^)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \\\^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\^] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\^] | |
| | | |
| [^}\^] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\`)</string> | |
| <key>end</key> | |
| <string>(?=\`)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\`] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\`] | |
| | | |
| [^}\`] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\{)</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\}] | |
| ) | |
| | | |
| (\\?)\{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \k<-1>\} | |
| | | |
| (?=\\\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| (\\?)\{ (?!__)[_\h]* \k<-1>\} | |
| ) | |
| | | |
| o (\\?)\{ (?!__)[_0-7]* \k<-1>\} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N (\\?)\{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| [^}\}] | |
| )*+ | |
| ) \k<-1>\} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\{</string> | |
| <key>end</key> | |
| <string>\}</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\|)</string> | |
| <key>end</key> | |
| <string>(?=\|)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\|] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\|] | |
| | | |
| [^}\|] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\})</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\}] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| [^}\}] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\~)</string> | |
| <key>end</key> | |
| <string>(?=\~)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\~] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\~] | |
| | | |
| [^}\~] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>^</string> | |
| <key>end</key> | |
| <string>\n|(?<=\n)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ \s* | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| )? | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\] | |
| | | |
| [^}] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <key>double_or_single</key> | |
| <dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=')</string> | |
| <key>contentName</key> | |
| <string>string.quoted.single.perl</string> | |
| <key>end</key> | |
| <string>(?=')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=(\()|(<)|(\[)|({)|([^[^!-~]\w\s]))</string> | |
| <key>contentName</key> | |
| <string>string.quoted.double.perl</string> | |
| <key>end</key> | |
| <string>(?=(?!\1)\)|(?!\2)>|(?!\3)\]|(?!\4)}|[\5[&&]])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <key>double_or_single_regexp</key> | |
| <dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=')</string> | |
| <key>contentName</key> | |
| <string>string.regexp.perl</string> | |
| <key>end</key> | |
| <string>(?=')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=(\()|(<)|(\[)|({)|([^[^!-~]\w\s]))</string> | |
| <key>contentName</key> | |
| <string>string.regexp.perl</string> | |
| <key>end</key> | |
| <string>(?=(?!\1)\)|(?!\2)>|(?!\3)\]|(?!\4)}|[\5[&&]])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <key>double_regexp</key> | |
| <dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\!)</string> | |
| <key>end</key> | |
| <string>(?=\!)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\!] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\!] | |
| | | |
| [^}\!] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\")</string> | |
| <key>end</key> | |
| <string>(?=\")</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\"] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\"] | |
| | | |
| [^}\"] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\#)</string> | |
| <key>end</key> | |
| <string>(?=\#)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\#] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\#] | |
| | | |
| [^}\#] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\$)</string> | |
| <key>end</key> | |
| <string>(?=\$)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \\\$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\\\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\$] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\$] | |
| | | |
| [^}\$] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\%)</string> | |
| <key>end</key> | |
| <string>(?=\%)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\%] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\%] | |
| | | |
| [^}\%] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\&)</string> | |
| <key>end</key> | |
| <string>(?=\&)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\&] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\&] | |
| | | |
| [^}\&] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\')</string> | |
| <key>end</key> | |
| <string>(?=\')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\\\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\'] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\'] | |
| | | |
| [^}\'] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\()</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\)] | |
| ) | |
| | | |
| \{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \} | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| \{ (?!__)[_\h]* \} | |
| ) | |
| | | |
| o \{ (?!__)[_0-7]* \} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N \{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\)] | |
| | | |
| [^}\)] | |
| )*+ | |
| ) \} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\(</string> | |
| <key>end</key> | |
| <string>\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\))</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\)] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\)] | |
| | | |
| [^}\)] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\*)</string> | |
| <key>end</key> | |
| <string>(?=\*)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\*] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\*] | |
| | | |
| [^}\*] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\+)</string> | |
| <key>end</key> | |
| <string>(?=\+)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\+] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\\\+ (?:_?\h+)++ | |
| | | |
| (?! U\\\+ ) | |
| (?: | |
| \\[\\\+] | |
| | | |
| [^}\+] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\,)</string> | |
| <key>end</key> | |
| <string>(?=\,)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\,] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\,] | |
| | | |
| [^}\,] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\-)</string> | |
| <key>end</key> | |
| <string>(?=\-)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\-] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\-] | |
| | | |
| [^}\-] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\.)</string> | |
| <key>end</key> | |
| <string>(?=\.)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\.] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\.] | |
| | | |
| [^}\.] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\/)</string> | |
| <key>end</key> | |
| <string>(?=\/)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\/] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\/] | |
| | | |
| [^}\/] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\:)</string> | |
| <key>end</key> | |
| <string>(?=\:)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\\\:\\\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\:] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\:] | |
| | | |
| [^}\:] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\;)</string> | |
| <key>end</key> | |
| <string>(?=\;)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\;] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\;] | |
| | | |
| [^}\;] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\<)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\>] | |
| ) | |
| | | |
| \{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \} | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| \{ (?!__)[_\h]* \} | |
| ) | |
| | | |
| o \{ (?!__)[_0-7]* \} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N \{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\>] | |
| | | |
| [^}\>] | |
| )*+ | |
| ) \} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\<</string> | |
| <key>end</key> | |
| <string>\></string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\=)</string> | |
| <key>end</key> | |
| <string>(?=\=)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\=] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\=] | |
| | | |
| [^}\=] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\>)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\>] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\>] | |
| | | |
| [^}\>] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\?)</string> | |
| <key>end</key> | |
| <string>(?=\?)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\?] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\?] | |
| | | |
| [^}\?] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\@)</string> | |
| <key>end</key> | |
| <string>(?=\@)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \\\@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\@] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\@] | |
| | | |
| [^}\@] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\[)</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\]] | |
| ) | |
| | | |
| \{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \} | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| \{ (?!__)[_\h]* \} | |
| ) | |
| | | |
| o \{ (?!__)[_0-7]* \} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N \{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\]] | |
| | | |
| [^}\]] | |
| )*+ | |
| ) \} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\[</string> | |
| <key>end</key> | |
| <string>\]</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\\)</string> | |
| <key>end</key> | |
| <string>(?=\\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\\] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| [^}\\] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\])</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\]] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\]] | |
| | | |
| [^}\]] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\^)</string> | |
| <key>end</key> | |
| <string>(?=\^)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \\\^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\^] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\^] | |
| | | |
| [^}\^] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\`)</string> | |
| <key>end</key> | |
| <string>(?=\`)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\`] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\`] | |
| | | |
| [^}\`] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\{)</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\}] | |
| ) | |
| | | |
| (\\?)\{ | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| \k<-1>\} | |
| | | |
| (?=\\\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| (\\?)\{ (?!__)[_\h]* \k<-1>\} | |
| ) | |
| | | |
| o (\\?)\{ (?!__)[_0-7]* \k<-1>\} | |
| | | |
| [0-7]{1,3} | |
| | | |
| N (\\?)\{ | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| [^}\}] | |
| )*+ | |
| ) \k<-1>\} | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\{</string> | |
| <key>end</key> | |
| <string>\}</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double_regexp</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\|)</string> | |
| <key>end</key> | |
| <string>(?=\|)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\|] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\|] | |
| | | |
| [^}\|] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\})</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\}] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| [^}\}] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\~)</string> | |
| <key>end</key> | |
| <string>(?=\~)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string><![CDATA[(?x) | |
| (?<variable> | |
| \@ \g<scalar_identifier> | |
| | | |
| \$ | |
| (?<scalar_identifier> | |
| (?<scalar> | |
| (?:\$)+ | |
| (?<identifier> | |
| (?<caret_id> | |
| \^ [^\W\d\p{Lower}] | |
| ) | |
| | | |
| (?<normal_id> | |
| \d+ | |
| | | |
| (?: | |
| (?: (?:\:\:) | (?:\')?[^\W\d] ) \w* | |
| )++ | |
| # | | |
| # [^[^!-~]{\w\s\~] | |
| ) | |
| | | |
| { | |
| \s* (?: | |
| \g<variable> | \g<caret_id> \w* | \g<normal_id> | |
| ) \s* | |
| } | |
| | | |
| (?=\{) | |
| ) | |
| ) | |
| | | |
| \g<identifier> | |
| ) | |
| ) | |
| ]]></string> | |
| <key>name</key> | |
| <string>keyword.other.storage.perl storage.modifier.perl variable.parameter.perl variable.other.readwrite.global.perl</string> | |
| </dict> | |
| <dict> | |
| <key>match</key> | |
| <string>(?x) | |
| \\ (?: | |
| x (?: | |
| \h{1,2} | |
| | | |
| { (?!__)[_\h]* } | |
| ) | |
| | | |
| o { (?!__)[_0-7]* } | |
| | | |
| [0-7]{1,3} | |
| | | |
| N { | |
| (?: | |
| U\+ (?:_?\h+)++ | |
| | | |
| (?! U\+ ) | |
| (?: | |
| \\[\\\~] | |
| | | |
| [^}\~] | |
| )*+ | |
| ) } | |
| | | |
| #c [^\P{ASCII}{] | |
| #| | |
| \p{Alnum} | |
| ) | |
| </string> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\d\D]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <key>heredoc_1</key> | |
| <dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| << (?= | |
| [^\W\d]\w* | |
| | | |
| \d\w*[\p{Alpha}]\w*+ # word starting with digit but containing a non-digit | |
| | | |
| \\ \w* | |
| | | |
| \s* (['"`]) .*? \1 | |
| ) | |
| </string> | |
| <key>end</key> | |
| <string>$</string> | |
| <key>name</key> | |
| <string>meta.heredoc.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| ( (?:[^\W\p{Lower}]*_)? CSS ) \b | |
| | | |
| \s* (["`']) | |
| (?: | |
| ((?<=") \s* (?: (?:[^\W\p{Lower}]*_)? CSS )) | |
| | | |
| ((?<=`) \s* (?: (?:[^\W\p{Lower}]*_)? CSS )) | |
| | | |
| (\s* (?: (?:[^\W\p{Lower}]*_)? CSS )) | |
| ) | |
| (\2) | |
| | | |
| \\ ( (?:[^\W\p{Lower}]*_)? CSS ) \b | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>source.css.embedded.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)(\5\7)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>source.css</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| ( (?:[^\W\p{Lower}]*_)? HTML ) \b | |
| | | |
| \s* (["`']) | |
| (?: | |
| ((?<=") \s* (?: (?:[^\W\p{Lower}]*_)? HTML )) | |
| | | |
| ((?<=`) \s* (?: (?:[^\W\p{Lower}]*_)? HTML )) | |
| | | |
| (\s* (?: (?:[^\W\p{Lower}]*_)? HTML )) | |
| ) | |
| (\2) | |
| | | |
| \\ ( (?:[^\W\p{Lower}]*_)? HTML ) \b | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>text.html.basic.embedded.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)(\5\7)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>text.html.basic</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| ( (?:[^\W\p{Lower}]*_)? (?:JS|JAVASCRIPT) ) \b | |
| | | |
| \s* (["`']) | |
| (?: | |
| ((?<=") \s* (?: (?:[^\W\p{Lower}]*_)? (?:JS|JAVASCRIPT) )) | |
| | | |
| ((?<=`) \s* (?: (?:[^\W\p{Lower}]*_)? (?:JS|JAVASCRIPT) )) | |
| | | |
| (\s* (?: (?:[^\W\p{Lower}]*_)? (?:JS|JAVASCRIPT) )) | |
| ) | |
| (\2) | |
| | | |
| \\ ( (?:[^\W\p{Lower}]*_)? (?:JS|JAVASCRIPT) ) \b | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>source.js.embedded.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)(\5\7)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>source.js</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| ( (?:[^\W\p{Lower}]*_)? PERL ) \b | |
| | | |
| \s* (["`']) | |
| (?: | |
| ((?<=") \s* (?: (?:[^\W\p{Lower}]*_)? PERL )) | |
| | | |
| ((?<=`) \s* (?: (?:[^\W\p{Lower}]*_)? PERL )) | |
| | | |
| (\s* (?: (?:[^\W\p{Lower}]*_)? PERL )) | |
| ) | |
| (\2) | |
| | | |
| \\ ( (?:[^\W\p{Lower}]*_)? PERL ) \b | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>source.perl.embedded.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)(\5\7)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>$self</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| ( (?:[^\W\p{Lower}]*_)? SQL ) \b | |
| | | |
| \s* (["`']) | |
| (?: | |
| ((?<=") \s* (?: (?:[^\W\p{Lower}]*_)? SQL )) | |
| | | |
| ((?<=`) \s* (?: (?:[^\W\p{Lower}]*_)? SQL )) | |
| | | |
| (\s* (?: (?:[^\W\p{Lower}]*_)? SQL )) | |
| ) | |
| (\2) | |
| | | |
| \\ ( (?:[^\W\p{Lower}]*_)? SQL ) \b | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>source.sql.embedded.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)(\5\7)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>source.sql</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| ( (?:[^\W\p{Lower}]*_)? XML ) \b | |
| | | |
| \s* (["`']) | |
| (?: | |
| ((?<=") \s* (?: (?:[^\W\p{Lower}]*_)? XML )) | |
| | | |
| ((?<=`) \s* (?: (?:[^\W\p{Lower}]*_)? XML )) | |
| | | |
| (\s* (?: (?:[^\W\p{Lower}]*_)? XML )) | |
| ) | |
| (\2) | |
| | | |
| \\ ( (?:[^\W\p{Lower}]*_)? XML ) \b | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>6</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| <key>7</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>text.xml.embedded.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)(\5\7)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>text.xml</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| (\w+) | |
| | | |
| \s* (["`]) | |
| (?: | |
| ((?<=") .*?) | |
| | | |
| (.*?) | |
| ) | |
| (\2) | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| <key>5</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.unquoted.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)(\4)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.double.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.interpolated.perl</string> | |
| </dict> | |
| </dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#double</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?: | |
| \\ (\w+) | |
| | | |
| \s* (') (.*?) (') | |
| ) | |
| .* \n? | |
| </string> | |
| <key>beginCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>2</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.begin.perl</string> | |
| </dict> | |
| <key>3</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| <key>4</key> | |
| <dict> | |
| <key>name</key> | |
| <string>punctuation.definition.string.end.perl</string> | |
| </dict> | |
| </dict> | |
| <key>contentName</key> | |
| <string>string.unquoted.perl</string> | |
| <key>end</key> | |
| <string>^(\1\3)$</string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.quoted.single.perl</string> | |
| </dict> | |
| </dict> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <key>line_comment</key> | |
| <dict> | |
| <key>match</key> | |
| <string>\#[\d\D]*</string> | |
| <key>name</key> | |
| <string>comment.line.number-sign.perl</string> | |
| </dict> | |
| <key>pod</key> | |
| <dict> | |
| <key>begin</key> | |
| <string>^=\p{Alpha}[\d\D]*</string> | |
| <key>end</key> | |
| <string>^=cut(?!\p{Alpha})[\d\D]*</string> | |
| <key>name</key> | |
| <string>meta.pod comment.block.perl</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>match</key> | |
| <string>\t+</string> | |
| <key>name</key> | |
| <string>invalid.deprecated.perl</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <key>regex_quantifier_curly</key> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?x) | |
| (?={ | |
| (?>0*(?=\d)) | |
| \d*?(\d??)(\d??)(\d??)(\d??)(\d??)(\d??)(\d??)(\d??)(\d??)(\d??) | |
| ,? \d*+ | |
| }) | |
| </string> | |
| <key>comment</key> | |
| <string>For {n,m} to be a quantifier, n must exist, and m must be greater than n if it exists. Just take my word for it that this voodoo does all that and numeric comparison of m > n up to an n that is 10 digits long.</string> | |
| <key>end</key> | |
| <string><![CDATA[(?x) | |
| ({ | |
| \d+ | |
| (?: | |
| # m is empty | |
| ,? | |
| | | |
| # otherwise numeric comparison! | |
| , (?>0*(?=\d)) | |
| (?: \d{11,} | [&\1&\d&&[^0-\1]]\d{9} | \1 | |
| (?: \d{10,} | [&\2&\d&&[^0-\2]]\d{8} | \2 | |
| (?: \d{9,} | [&\3&\d&&[^0-\3]]\d{7} | \3 | |
| (?: \d{8,} | [&\4&\d&&[^0-\4]]\d{6} | \4 | |
| (?: \d{7,} | [&\5&\d&&[^0-\5]]\d{5} | \5 | |
| (?: \d{6,} | [&\6&\d&&[^0-\6]]\d{4} | \6 | |
| (?: \d{5,} | [&\7&\d&&[^0-\7]]\d{3} | \7 | |
| (?: \d{4,} | [&\8&\d&&[^0-\8]]\d{2} | \8 | |
| (?: \d{3,} | [&\9&\d&&[^0-\9]]\d{1} | \9 | |
| (?: \d{2,} | [&\10&\d&&[^0-\10]]\d{0} | |
| )))))))))) | |
| ) | |
| }) | |
| | | |
| # not a quantifier, but we have to match something to prevent infinite recursion | |
| {\d*,?\d*} | |
| ]]></string> | |
| <key>endCaptures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>string.regexp.perl</string> | |
| </dict> | |
| </dict> | |
| </dict> | |
| <key>single</key> | |
| <dict> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\!)</string> | |
| <key>end</key> | |
| <string>(?=\!)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\!\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\")</string> | |
| <key>end</key> | |
| <string>(?=\")</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\"\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\#)</string> | |
| <key>end</key> | |
| <string>(?=\#)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\#\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\$)</string> | |
| <key>end</key> | |
| <string>(?=\$)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\$\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\%)</string> | |
| <key>end</key> | |
| <string>(?=\%)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\%\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\&)</string> | |
| <key>end</key> | |
| <string>(?=\&)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\&\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\')</string> | |
| <key>end</key> | |
| <string>(?=\')</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\'\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\()</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\(\)\\]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\(</string> | |
| <key>end</key> | |
| <string>\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\))</string> | |
| <key>end</key> | |
| <string>(?=\))</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\)\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\*)</string> | |
| <key>end</key> | |
| <string>(?=\*)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\*\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\+)</string> | |
| <key>end</key> | |
| <string>(?=\+)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\+\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\,)</string> | |
| <key>end</key> | |
| <string>(?=\,)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\,\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\-)</string> | |
| <key>end</key> | |
| <string>(?=\-)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\-\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\.)</string> | |
| <key>end</key> | |
| <string>(?=\.)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\.\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\/)</string> | |
| <key>end</key> | |
| <string>(?=\/)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\/\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\:)</string> | |
| <key>end</key> | |
| <string>(?=\:)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\:\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\;)</string> | |
| <key>end</key> | |
| <string>(?=\;)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\;\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\<)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\<\>\\]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\<</string> | |
| <key>end</key> | |
| <string>\></string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\=)</string> | |
| <key>end</key> | |
| <string>(?=\=)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\=\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\>)</string> | |
| <key>end</key> | |
| <string>(?=\>)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\>\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\?)</string> | |
| <key>end</key> | |
| <string>(?=\?)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\?\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\@)</string> | |
| <key>end</key> | |
| <string>(?=\@)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\@\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\[)</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\[\]\\]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\[</string> | |
| <key>end</key> | |
| <string>\]</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\\)</string> | |
| <key>end</key> | |
| <string>(?=\\)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\\\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\])</string> | |
| <key>end</key> | |
| <string>(?=\])</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\]\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\^)</string> | |
| <key>end</key> | |
| <string>(?=\^)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\^\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\`)</string> | |
| <key>end</key> | |
| <string>(?=\`)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\`\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\{)</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\{\}\\]</string> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>\{</string> | |
| <key>end</key> | |
| <string>\}</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>include</key> | |
| <string>#single</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\|)</string> | |
| <key>end</key> | |
| <string>(?=\|)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\|\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\})</string> | |
| <key>end</key> | |
| <string>(?=\})</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\}\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| <dict> | |
| <key>begin</key> | |
| <string>(?<=\~)</string> | |
| <key>end</key> | |
| <string>(?=\~)</string> | |
| <key>patterns</key> | |
| <array> | |
| <dict> | |
| <key>captures</key> | |
| <dict> | |
| <key>1</key> | |
| <dict> | |
| <key>name</key> | |
| <string>constant.character.escape.perl</string> | |
| </dict> | |
| </dict> | |
| <key>match</key> | |
| <string>(\\)[\~\\]</string> | |
| </dict> | |
| </array> | |
| </dict> | |
| </array> | |
| </dict> | |
| </dict> | |
| <key>scopeName</key> | |
| <string>source.perl</string> | |
| <key>uuid</key> | |
| <string>2c338cc8-a464-4ee4-a56c-d524947fa6f9</string> | |
| </dict> | |
| </plist> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| %YAML 1.2 | |
| --- | |
| # http://www.sublimetext.com/docs/3/syntax.html | |
| name: Perl | |
| comment: "TODO: Include RegExp syntax" | |
| file_extensions: | |
| - pl | |
| - pm | |
| - pod | |
| - t | |
| - PL | |
| first_line_match: ^#!.*\bperl\b | |
| scope: source.perl | |
| contexts: | |
| main: | |
| - include: line_comment | |
| - match: ^= | |
| captures: | |
| 0: punctuation.definition.comment.perl | |
| push: | |
| - meta_scope: comment.block.documentation.perl | |
| - match: ^=cut | |
| captures: | |
| 0: punctuation.definition.comment.perl | |
| pop: true | |
| - include: variable | |
| - match: '\b(?=qr\s*[^\s\w])' | |
| comment: string.regexp.compile.perl | |
| push: | |
| - match: '(qr)\s*\{' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.compile.nested_braces.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_braces_interpolated | |
| - match: '(qr)\s*\[' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.compile.nested_brackets.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_brackets_interpolated | |
| - match: (qr)\s*< | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.compile.nested_ltgt.perl | |
| - match: ">" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_ltgt_interpolated | |
| - match: (qr)\s*\( | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.compile.nested_parens.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_parens_interpolated | |
| - match: (qr)\s*\' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.compile.single-quote.perl | |
| - match: \' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - match: '(qr)\s*([^\s\w\''\{\[\(\<])' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.compile.simple-delimiter.perl | |
| - match: \2 | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - match: '\$(?=[^\s\w\''\{\[\(\<])' | |
| comment: This is to prevent thinks like qr/foo$/ to treat $/ as a variable | |
| scope: keyword.control.anchor.perl | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_parens_interpolated | |
| - match: '((([egimosx]*)))(?=(\s+\S|\s*[;\,\#\{\}\)]|$))' | |
| captures: | |
| 1: string.regexp.compile.perl | |
| 2: punctuation.definition.string.perl | |
| 3: keyword.control.regexp-option.perl | |
| pop: true | |
| - match: '\b(?=(?<!\&)(s)(\s+\S|\s*[;\,\#\{\}\(\)\[<]|$))' | |
| comment: string.regexp.replace.perl | |
| push: | |
| - match: '(s)\s*\{' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.nested_braces.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_braces | |
| - match: '(s)\s*\[' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.nested_brackets.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_brackets | |
| - match: (s)\s*< | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.nested_ltgt.perl | |
| - match: ">" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_ltgt | |
| - match: (s)\s*\( | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.nested_parens.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_parens | |
| - match: '\{' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.format.nested_braces.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_braces_interpolated | |
| - match: '\[' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.format.nested_brackets.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_brackets_interpolated | |
| - match: "<" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.format.nested_ltgt.perl | |
| - match: ">" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_ltgt_interpolated | |
| - match: \( | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.format.nested_parens.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_parens_interpolated | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.format.single_quote.perl | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - match: '\\[''\\]' | |
| scope: constant.character.escape.perl | |
| - match: '([^\s\w\[({<;])' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.format.simple_delimiter.perl | |
| - match: \1 | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: \s+ | |
| - match: '((([egimosx]*)))(?=(\s+\S|\s*[;\,\#\{\}\)\]>]|$))' | |
| captures: | |
| 1: string.regexp.replace.perl | |
| 2: punctuation.definition.string.perl | |
| 3: keyword.control.regexp-option.perl | |
| pop: true | |
| - match: '\b(?=s([^\s\w\[({<]).*\1([egimos]*)([\}\)\;\,]|\s+))' | |
| comment: string.regexp.replaceXXX | |
| push: | |
| - match: '((([egimos]*)))(?=([\}\)\;\,]|\s+|$))' | |
| captures: | |
| 1: string.regexp.replace.perl | |
| 2: punctuation.definition.string.perl | |
| 3: keyword.control.regexp-option.perl | |
| pop: true | |
| - match: '(s\s*)([^\s\w\[({<])' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.replaceXXX.simple_delimiter.perl | |
| - match: (?=\2) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.replaceXXX.format.single_quote.perl | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - match: '\\[''\\]' | |
| scope: constant.character.escape.perl.perl | |
| - match: '([^\s\w\[({<])' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.replaceXXX.format.simple_delimiter.perl | |
| - match: \1 | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: '\b(?=(?<!\\)s\s*([^\s\w\[({<]))' | |
| comment: string.regexp.replace.extended | |
| push: | |
| - match: '\2((([egimos]*x[egimos]*)))\b' | |
| captures: | |
| 1: string.regexp.replace.perl | |
| 2: punctuation.definition.string.perl | |
| 3: keyword.control.regexp-option.perl | |
| pop: true | |
| - match: (s)\s*(.) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| push: | |
| - meta_scope: string.regexp.replace.extended.simple_delimiter.perl | |
| - match: (?=\2) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: support.function.perl | |
| pop: true | |
| - include: escaped_char | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.replace.extended.simple_delimiter.perl | |
| - match: '''(?=[egimos]*x[egimos]*)\b' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - match: (.) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.replace.extended.simple_delimiter.perl | |
| - match: '\1(?=[egimos]*x[egimos]*)\b' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: \b\w+\s*(?==>) | |
| scope: constant.other.key.perl | |
| - match: \b\w+\?\s*(?==>) | |
| scope: constant.other.key.optional.perl | |
| - match: '(?<={)\s*\w+\s*(?=})' | |
| scope: constant.other.bareword.perl | |
| - match: '(?<!\\)((~\s*)?\/)(\S.*?)(?<!\\)(\\{2})*(\/)' | |
| scope: string.regexp.find.perl | |
| captures: | |
| 1: punctuation.definition.string.perl | |
| 5: punctuation.definition.string.perl | |
| - match: (?<!\\)(\~\s*\/) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| push: | |
| - meta_scope: string.regexp.find.extended.perl | |
| - match: '\/([cgimos]*x[cgimos]*)\b' | |
| captures: | |
| 1: keyword.control.regexp-option.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: ^\s*(package)\s+(\S+)\s*((#).*)?$\n? | |
| scope: meta.class.perl | |
| captures: | |
| 1: keyword.control.perl | |
| 2: entity.name.type.class.perl | |
| 3: comment.line.number-sign.perl | |
| 4: punctuation.definition.comment.perl | |
| - match: '^\s*(sub)\s+([-a-zA-Z0-9_]+)\s*(\([\$\@\*;]*\))?' | |
| scope: meta.function.perl | |
| captures: | |
| 1: storage.type.sub.perl | |
| 2: entity.name.function.perl | |
| 3: storage.type.method.perl | |
| - match: ^\s*(BEGIN|END|DESTROY)\b | |
| scope: meta.function.perl | |
| captures: | |
| 1: entity.name.function.perl | |
| 2: punctuation.definition.parameters.perl | |
| 3: variable.parameter.function.perl | |
| - match: '^(?=(\t| {4}))' | |
| push: | |
| - meta_scope: meta.leading-tabs | |
| - match: '(?=[^\t\s])' | |
| pop: true | |
| - match: '(\t| {4})(\t| {4})?' | |
| captures: | |
| 1: meta.odd-tab | |
| 2: meta.even-tab | |
| - match: '\b(m)\s*(?<!\\)([^\[\{\(A-Za-z0-9\s])(.*?)(?<!\\)(\\{2})*(\2)' | |
| scope: string.regexp.find-m.perl | |
| captures: | |
| 1: support.function.perl | |
| 2: punctuation.definition.string.perl | |
| 5: punctuation.definition.string.perl | |
| - match: \b(m)\s*(?<!\\)\( | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.regexp.find-m-paren.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_parens_interpolated | |
| - include: variable | |
| - match: '\b(m)\s*(?<!\\)\{' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.regexp.find-m-brace.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_braces_interpolated | |
| - include: variable | |
| - match: '\b(m)\s*(?<!\\)\[' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.regexp.find-m-bracket.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_brackets_interpolated | |
| - include: variable | |
| - match: \b(m)\s*(?<!\\)\< | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.regexp.find-m-ltgt.perl | |
| - match: \> | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_ltgt_interpolated | |
| - include: variable | |
| - match: '\b(s|tr|y)\s*([^A-Za-z0-9\s])(.*?)(?<!\\)(\\{2})*(\2)(.*?)(?<!\\)(\\{2})*(\2)' | |
| scope: string.regexp.replace.perl | |
| captures: | |
| 1: support.function.perl | |
| 2: punctuation.definition.string.perl | |
| 5: punctuation.definition.string.perl | |
| 8: punctuation.definition.string.perl | |
| - match: \b(__FILE__|__LINE__|__PACKAGE__)\b | |
| scope: constant.language.perl | |
| - match: (?<!->)\b(continue|die|do|else|elsif|exit|for|foreach|goto|if|last|next|redo|return|select|unless|until|wait|while|switch|case|package|require|use|eval)\b | |
| scope: keyword.control.perl | |
| - match: \b(my|our|local)\b | |
| scope: storage.modifier.perl | |
| - match: '(?<!\w)\-[rwx0RWXOezsfdlpSbctugkTBMAC]\b' | |
| scope: keyword.operator.filetest.perl | |
| - match: \b(and|or|xor|as)\b | |
| scope: keyword.operator.logical.perl | |
| - match: (<=>| =>|->) | |
| scope: keyword.operator.comparison.perl | |
| - match: ((<<) *"HTML").*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.html.embedded.perl | |
| - match: (^HTML$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:text.html.basic | |
| - match: ((<<) *"XML").*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.xml.embedded.perl | |
| - match: (^XML$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:text.xml | |
| - match: ((<<) *"CSS").*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.css.embedded.perl | |
| - match: (^CSS$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:source.css | |
| - match: ((<<) *"JAVASCRIPT").*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.js.embedded.perl | |
| - match: (^JAVASCRIPT$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:source.js | |
| - match: ((<<) *"SQL").*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: source.sql.embedded.perl | |
| - match: (^SQL$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:source.sql | |
| - match: '((<<) *"([^"]*)").*\n?' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: string.unquoted.heredoc.doublequote.perl | |
| - match: (^\3$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.doublequote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: ((<<) *'HTML').*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.html.embedded.perl | |
| - match: (^HTML$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: scope:text.html.basic | |
| - match: ((<<) *'XML').*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.xml.embedded.perl | |
| - match: (^XML$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: scope:text.xml | |
| - match: ((<<) *'CSS').*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.css.embedded.perl | |
| - match: (^CSS$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: scope:source.css | |
| - match: ((<<) *'JAVASCRIPT').*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.js.embedded.perl | |
| - match: (^JAVASCRIPT$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: scope:source.js | |
| - match: ((<<) *'SQL').*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: source.sql.embedded.perl | |
| - match: (^SQL$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: scope:source.sql | |
| - match: '((<<) *''([^'']*)'').*\n?' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: string.unquoted.heredoc.quote.perl | |
| - match: (^\3$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.quote.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - match: '((<<) *`([^`]*)`).*\n?' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.backtick.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: string.unquoted.heredoc.backtick.perl | |
| - match: (^\3$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.backtick.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: ((<<) *HTML\b).*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.html.embedded.perl | |
| - match: (^HTML$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:text.html.basic | |
| - match: ((<<) *XML\b).*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: text.xml.embedded.perl | |
| - match: (^XML$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:text.xml | |
| - match: ((<<) *SQL\b).*\n? | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: source.sql.embedded.perl | |
| - match: (^SQL$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: scope:source.sql | |
| - match: '((<<) *((?![=\d\$ ])[^;,''"`\s)]*)).*\n?' | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| push: | |
| - meta_content_scope: string.unquoted.heredoc.perl | |
| - match: (^\3$) | |
| captures: | |
| 0: punctuation.definition.string.perl | |
| 1: string.unquoted.heredoc.perl | |
| 2: punctuation.definition.heredoc.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: '\bqq\s*([^\(\{\[\<\w\s])' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.qq.perl | |
| - match: \1 | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: '\bqx\s*([^''\(\{\[\<\w\s])' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.qx.perl | |
| - match: \1 | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: \bqx\s*' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.qx.single-quote.perl | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - match: '"' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.double.perl | |
| - match: '"' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: '\bqw?\s*([^\(\{\[\<\w\s])' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.q.perl | |
| - match: \1 | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.single.perl | |
| - match: "'" | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - match: '\\[''\\]' | |
| scope: constant.character.escape.perl | |
| - match: "`" | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.perl | |
| - match: "`" | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - match: \bqq\s*\( | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.qq-paren.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_parens_interpolated | |
| - include: variable | |
| - match: '\bqq\s*\{' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.qq-brace.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_braces_interpolated | |
| - include: variable | |
| - match: '\bqq\s*\[' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.qq-bracket.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_brackets_interpolated | |
| - include: variable | |
| - match: \bqq\s*\< | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.qq-ltgt.perl | |
| - match: \> | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_ltgt_interpolated | |
| - include: variable | |
| - match: \bqx\s*\( | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.qx-paren.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_parens_interpolated | |
| - include: variable | |
| - match: '\bqx\s*\{' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.qx-brace.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_braces_interpolated | |
| - include: variable | |
| - match: '\bqx\s*\[' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.qx-bracket.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_brackets_interpolated | |
| - include: variable | |
| - match: \bqx\s*\< | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.interpolated.qx-ltgt.perl | |
| - match: \> | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_ltgt_interpolated | |
| - include: variable | |
| - match: \bqw?\s*\( | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.q-paren.perl | |
| - match: \) | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_parens | |
| - match: '\bqw?\s*\{' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.q-brace.perl | |
| - match: '\}' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_braces | |
| - match: '\bqw?\s*\[' | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.q-bracket.perl | |
| - match: '\]' | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_brackets | |
| - match: \bqw?\s*\< | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.quoted.other.q-ltgt.perl | |
| - match: \> | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_ltgt | |
| - match: ^__\w+__ | |
| captures: | |
| 0: punctuation.definition.string.begin.perl | |
| push: | |
| - meta_scope: string.unquoted.program-block.perl | |
| - match: $ | |
| captures: | |
| 0: punctuation.definition.string.end.perl | |
| pop: true | |
| - match: '\b(format)\s+([A-Za-z]+)\s*=' | |
| captures: | |
| 1: support.function.perl | |
| 2: entity.name.function.format.perl | |
| push: | |
| - meta_scope: meta.format.perl | |
| - match: ^\.\s*$ | |
| pop: true | |
| - include: line_comment | |
| - include: variable | |
| - match: \b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|format|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|print|printf|push|q|qq|quotemeta|qw|qx|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y|q|qw|qq|qx)\b | |
| scope: support.function.perl | |
| escaped_char: | |
| - match: \\. | |
| scope: constant.character.escape.perl | |
| line_comment: | |
| - match: ^((#).*$\n?) | |
| scope: meta.comment.full-line.perl | |
| captures: | |
| 1: comment.line.number-sign.perl | |
| 2: punctuation.definition.comment.perl | |
| - match: (#).*$\n? | |
| scope: comment.line.number-sign.perl | |
| captures: | |
| 1: punctuation.definition.comment.perl | |
| nested_braces: | |
| - match: '\{' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: '\}' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_braces | |
| nested_braces_interpolated: | |
| - match: '\{' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: '\}' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_braces_interpolated | |
| nested_brackets: | |
| - match: '\[' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: '\]' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_brackets | |
| nested_brackets_interpolated: | |
| - match: '\[' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: '\]' | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_brackets_interpolated | |
| nested_ltgt: | |
| - match: "<" | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: ">" | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: nested_ltgt | |
| nested_ltgt_interpolated: | |
| - match: "<" | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: ">" | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: variable | |
| - include: nested_ltgt_interpolated | |
| nested_parens: | |
| - match: \( | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: \) | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - include: escaped_char | |
| - include: nested_parens | |
| nested_parens_interpolated: | |
| - match: \( | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| push: | |
| - match: \) | |
| captures: | |
| 1: punctuation.section.scope.perl | |
| pop: true | |
| - match: '\$(?=[^\s\w\''\{\[\(\<])' | |
| comment: This is to prevent thinks like qr/foo$/ to treat $/ as a variable | |
| scope: keyword.control.anchor.perl | |
| - include: escaped_char | |
| - include: variable | |
| - include: nested_parens_interpolated | |
| variable: | |
| - match: '(\$)&(?![A-Za-z0-9_])' | |
| scope: variable.other.regexp.match.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)`(?![A-Za-z0-9_])' | |
| scope: variable.other.regexp.pre-match.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)''(?![A-Za-z0-9_])' | |
| scope: variable.other.regexp.post-match.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)\+(?![A-Za-z0-9_])' | |
| scope: variable.other.regexp.last-paren-match.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)"(?![A-Za-z0-9_])' | |
| scope: variable.other.readwrite.list-separator.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)0(?![A-Za-z0-9_])' | |
| scope: variable.other.predefined.program-name.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)[_ab\*\.\/\|,\\;#%=\-~^:?!\$<>\(\)\[\]@](?![A-Za-z0-9_])' | |
| scope: variable.other.predefined.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$)[0-9]+(?![A-Za-z0-9_])' | |
| scope: variable.other.subpattern.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '([\$\@\%](#)?)([a-zA-Zx7f-xff\$]|::)([a-zA-Z0-9_x7f-xff\$]|::)*\b' | |
| scope: variable.other.readwrite.global.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| - match: '(\$\{)(?:[a-zA-Zx7f-xff\$]|::)(?:[a-zA-Z0-9_x7f-xff\$]|::)*(\})' | |
| scope: variable.other.readwrite.global.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl | |
| 2: punctuation.definition.variable.perl | |
| - match: '([\$\@\%](#)?)[0-9_]\b' | |
| scope: variable.other.readwrite.global.special.perl | |
| captures: | |
| 1: punctuation.definition.variable.perl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment