summaryrefslogtreecommitdiff
path: root/tests/lexers/perl/example2.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lexers/perl/example2.txt')
-rw-r--r--tests/lexers/perl/example2.txt923
1 files changed, 923 insertions, 0 deletions
diff --git a/tests/lexers/perl/example2.txt b/tests/lexers/perl/example2.txt
new file mode 100644
index 00000000..224e3271
--- /dev/null
+++ b/tests/lexers/perl/example2.txt
@@ -0,0 +1,923 @@
+---input---
+#! /usr/bin/env perl
+
+use strict;
+use warnings;
+
+# common delimiters
+print "a: ";
+my $a = "foo";
+print $a, " - ";
+$a =~ s/foo/bar/;
+print $a, "\n";
+
+print "b: ";
+my $b = "foo";
+print $b, " - ";
+$b =~ s!foo!bar!;
+print $b, "\n";
+
+print "c: ";
+my $c = "foo";
+print $c, " - ";
+$c =~ s@foo@bar@;
+print $c, "\n";
+
+print "d: ";
+my $d = "foo";
+print $d, " - ";
+$d =~ s\foo\bar\;
+print $d, "\n";
+
+print "\n";
+
+# balanced delimiters
+print "e: ";
+my $e = "foo";
+print $e, " - ";
+$e =~ s{foo}{bar};
+print $e, "\n";
+
+print "f: ";
+my $f = "foo";
+print $f, " - ";
+$f =~ s(foo)(bar);
+print $f, "\n";
+
+print "g: ";
+my $g = "foo";
+print $g, " - ";
+$g =~ s<foo><bar>;
+print $g, "\n";
+
+print "h: ";
+my $h = "foo";
+print $h, " - ";
+$h =~ s[foo][bar];
+print $h, "\n";
+
+print "\n";
+
+# balanced delimiters with whitespace
+print "i: ";
+my $i = "foo";
+print $i, " - ";
+$i =~ s{foo} {bar};
+print $i, "\n";
+
+print "j: ";
+my $j = "foo";
+print $j, " - ";
+$j =~ s<foo> <bar>;
+print $j, "\n";
+
+print "k: ";
+my $k = "foo";
+print $k, " - ";
+$k =~
+ s(foo)
+
+ (bar);
+print $k, "\n";
+
+print "\n";
+
+# mixed delimiters
+print "l: ";
+my $l = "foo";
+print $l, " - ";
+$l =~ s{foo} <bar>;
+print $l, "\n";
+
+print "m: ";
+my $m = "foo";
+print $m, " - ";
+$m =~ s(foo) !bar!;
+print $m, "\n";
+
+print "n: ";
+my $n = "foo";
+print $n, " - ";
+$n =~ s[foo] $bar$;
+print $n, "\n";
+
+print "\n";
+
+# /x modifier
+print "o: ";
+my $o = "foo";
+print $o, " - ";
+$o =~ s{
+ foo
+ } {bar}x;
+print $o, "\n";
+
+print "p: ";
+my $p = "foo";
+print $p, " - ";
+$p =~ s%
+ foo
+ %bar%x;
+print $p, "\n";
+
+---tokens---
+'#! /usr/bin/env perl' Comment.Hashbang
+'\n\n' Text
+
+'use' Keyword
+' ' Text
+'strict' Name.Namespace
+';' Punctuation
+'\n' Text
+
+'use' Keyword
+' ' Text
+'warnings' Name.Namespace
+';' Punctuation
+'\n\n' Text
+
+'# common delimiters' Comment.Single
+'\n' Text
+
+'print' Keyword
+' ' Text
+'"a: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'a' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'a' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'a' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s/foo/bar/' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'a' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"b: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'b' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'b' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'b' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s!foo!bar!' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'b' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"c: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'c' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'c' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'c' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s@foo@bar@' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'c' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"d: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'d' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'d' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'d' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s\\foo\\bar\\' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'d' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'# balanced delimiters' Comment.Single
+'\n' Text
+
+'print' Keyword
+' ' Text
+'"e: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'e' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'e' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'e' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s{foo}' Literal.String.Regex
+'{bar}' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'e' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"f: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'f' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'f' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'f' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s(foo)' Literal.String.Regex
+'(bar)' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'f' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"g: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'g' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'g' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'g' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s<foo>' Literal.String.Regex
+'<bar>' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'g' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"h: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'h' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'h' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'h' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s[foo]' Literal.String.Regex
+'[bar]' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'h' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'# balanced delimiters with whitespace' Comment.Single
+'\n' Text
+
+'print' Keyword
+' ' Text
+'"i: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'i' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'i' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'i' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s{foo} ' Literal.String.Regex
+'{bar}' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'i' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"j: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'j' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'j' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'j' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s<foo>\t\t' Literal.String.Regex
+'<bar>' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'j' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"k: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'k' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'k' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'k' Name.Variable
+' ' Text
+'=~' Operator
+'\n\t' Text
+'s(foo)\n\n\t' Literal.String.Regex
+'(bar)' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'k' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'# mixed delimiters' Comment.Single
+'\n' Text
+
+'print' Keyword
+' ' Text
+'"l: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'l' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'l' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'l' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s{foo} ' Literal.String.Regex
+'<bar>' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'l' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"m: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'m' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'m' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'m' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s(foo) ' Literal.String.Regex
+'!bar!' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'m' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"n: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'n' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'n' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'n' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s[foo] ' Literal.String.Regex
+'$bar$' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'n' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'# /x modifier' Comment.Single
+'\n' Text
+
+'print' Keyword
+' ' Text
+'"o: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'o' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'o' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'o' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s{\n\t\t\t\tfoo\n\t\t\t } ' Literal.String.Regex
+'{bar}x' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'o' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n\n' Text
+
+'print' Keyword
+' ' Text
+'"p: "' Literal.String
+';' Punctuation
+'\n' Text
+
+'my' Keyword
+' ' Text
+'$' Name.Variable
+'p' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'"foo"' Literal.String
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'p' Name.Variable
+',' Punctuation
+' ' Text
+'" - "' Literal.String
+';' Punctuation
+'\n' Text
+
+'$' Name.Variable
+'p' Name.Variable
+' ' Text
+'=~' Operator
+' ' Text
+'s%\n foo\n %bar%x' Literal.String.Regex
+';' Punctuation
+'\n' Text
+
+'print' Keyword
+' ' Text
+'$' Name.Variable
+'p' Name.Variable
+',' Punctuation
+' ' Text
+'"\\n"' Literal.String
+';' Punctuation
+'\n' Text