From: nothingmuch Date: Mon, 5 May 2008 18:32:24 +0000 (+0000) Subject: Devel::REPL::Plugin::Peek X-Git-Tag: v1.003015~126 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=commitdiff_plain;h=1c4d0148a1b0121cdfee1f3bd97631289a524d09;hp=c3bbf326d9e6a1ae2c1d5fd05ff973f5f9d26106 Devel::REPL::Plugin::Peek git-svn-id: http://dev.catalyst.perl.org/repos/bast/trunk/Devel-REPL@4325 bd8105ee-0ff8-0310-8827-fb3f25b6796d --- diff --git a/lib/Devel/REPL/Plugin/Peek.pm b/lib/Devel/REPL/Plugin/Peek.pm new file mode 100644 index 0000000..e6f4893 --- /dev/null +++ b/lib/Devel/REPL/Plugin/Peek.pm @@ -0,0 +1,59 @@ +#!/usr/bin/perl + +package Devel::REPL::Plugin::Peek; +use Devel::REPL::Plugin; + +use Devel::Peek qw(Dump); + +use namespace::clean -except => [ 'meta' ]; + +with qw(Devel::REPL::Plugin::Turtles); + +sub expr_command_peek { + my ( $self, $eval, $code ) = @_; + + if ( my $cont = $self->can("continue_reading_if_necessary") ) { + $code = $self->$cont($code); + } + + # can't override output properly + # FIXME do some dup wizardry + Dump( $self->eval($code) ); + + return ""; # this is a hack to print nothing after Dump has already printed. PLZ TO FIX KTHX! +} + +__PACKAGE__ + +__END__ + +=pod + +=head1 NAME + +Devel::REPL::Plugin::Peek - L plugin for L. + +=head1 SYNOPSIS + + repl> #peek "foo" + SV = PV(0xb3dba0) at 0xb4abc0 + REFCNT = 1 + FLAGS = (POK,READONLY,pPOK) + PV = 0x12bcf70 "foo"\0 + CUR = 3 + LEN = 4 + +=head1 DESCRIPTION + +This L adds a C command that calls +L instead of the normal printing. + +=head1 SEE ALSO + +L, L + +=head1 AUTHOR + +Yuval Kogman Enothingmuch@woobling.orgE + +=cut