summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pygments/lexers/agile.py4
-rw-r--r--tests/examplefiles/test.p62
2 files changed, 4 insertions, 2 deletions
diff --git a/pygments/lexers/agile.py b/pygments/lexers/agile.py
index 0652f412..4d14ac0d 100644
--- a/pygments/lexers/agile.py
+++ b/pygments/lexers/agile.py
@@ -2173,10 +2173,10 @@ class Perl6Lexer(ExtendedRegexLexer):
( _build_word_match(PERL6_BUILTINS, PERL6_IDENTIFIER_CHARS), Name.Builtin),
# copied from PerlLexer
( r'[$@%&][.^:?=!~]?[' + PERL6_IDENTIFIER_CHARS + u']+(?:<<.*?>>|<.*?>|«.*?»)*', Name.Variable ),
- ( r'[$][!/]', Name.Variable.Global ),
+ ( r'[$][!/](?:<<.*?>>|<.*?>|«.*?»)*', Name.Variable.Global ),
( r'::[?]\w+', Name.Variable.Global ),
( r'[$@%&][*][' + PERL6_IDENTIFIER_CHARS + u']+(?:<<.*?>>|<.*?>|«.*?»)*', Name.Variable.Global ),
- ( r'[$](?:<.*?>)+', Name.Variable ), # XXX what about for special variables (like $/)? should I enter a variable state?
+ ( r'[$](?:<.*?>)+', Name.Variable ),
( r'(?:q|qq|Q)[a-zA-Z]?\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^0-9a-zA-Z:\s])(?P=first_char)*)', brackets_callback(String) ),
# copied from PerlLexer
( r'0_?[0-7]+(_[0-7]+)*', Number.Oct ),
diff --git a/tests/examplefiles/test.p6 b/tests/examplefiles/test.p6
index 72519f24..1d5cfa0a 100644
--- a/tests/examplefiles/test.p6
+++ b/tests/examplefiles/test.p6
@@ -246,3 +246,5 @@ stuff
my $regex = m«< some chars »;
# after
+
+say $/<foo><bar>;