X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=lib%2FDevel%2FREPL%2FPlugin%2FMultiLine%2FPPI.pm;fp=lib%2FDevel%2FREPL%2FPlugin%2FMultiLine%2FPPI.pm;h=f3ba89782a4ab02057f318c25aadb2d071cb87ca;hp=177484f2b7263053cb9056126f142d56cf589051;hb=d9ba19d2caa08c4163e1462b96ceecc12fd158bc;hpb=9cdb543b6b32b570d8e2fb5cd1a69673fc378a92 diff --git a/lib/Devel/REPL/Plugin/MultiLine/PPI.pm b/lib/Devel/REPL/Plugin/MultiLine/PPI.pm index 177484f..f3ba897 100644 --- a/lib/Devel/REPL/Plugin/MultiLine/PPI.pm +++ b/lib/Devel/REPL/Plugin/MultiLine/PPI.pm @@ -50,3 +50,69 @@ sub needs_continuation } 1; + +__END__ + +=head1 NAME + +Devel::REPL::Plugin::MultiLine::PPI - read lines until all blocks are closed + +=head1 SYNOPSIS + + #!/usr/bin/perl + + use lib './lib'; + use Devel::REPL; + + my $repl = Devel::REPL->new; + $repl->load_plugin('LexEnv'); + $repl->load_plugin('History'); + $repl->load_plugin('MultiLine::PPI'); + $repl->run; + +=head1 DESCRIPTION + +Plugin that will collect lines until you have no unfinished structures. This +lets you write subroutines, C statements, loops, etc. more naturally. + +For example, without a MultiLine plugin, + + $ my $x = 3; + 3 + $ if ($x == 3) { + +will throw a compile error, because that C statement is incomplete. With a +MultiLine plugin, + + $ my $x = 3; + 3 + $ if ($x == 3) { + + > print "OH NOES!" + + > } + OH NOES + 1 + +you may write the code across multiple lines, such as in C and C. + +This module uses L. This plugin is named C because someone +else may conceivably implement similar behavior some other less +dependency-heavy way. + +=head1 SEE ALSO + +C + +=head1 AUTHOR + +Shawn M Moore, C<< >> + +=head1 COPYRIGHT AND LICENSE + +Copyright (C) 2007 by Shawn M Moore + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut