diff options
Diffstat (limited to 'tests/lexers/perl/example2.txt')
| -rw-r--r-- | tests/lexers/perl/example2.txt | 923 |
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 |
