X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=lib%2FDevel%2FREPL%2FPlugin%2FDDS.pm;fp=lib%2FDevel%2FREPL%2FPlugin%2FDDS.pm;h=512d48c6cd6165c8aca46a9499e2cc7fa3fc8afc;hp=0000000000000000000000000000000000000000;hb=950232b2d6e2398c5f804c58e2bedf1e98fd7151;hpb=ae5e19ec178afa6178efb13d556c781800ece6ca diff --git a/lib/Devel/REPL/Plugin/DDS.pm b/lib/Devel/REPL/Plugin/DDS.pm new file mode 100644 index 0000000..512d48c --- /dev/null +++ b/lib/Devel/REPL/Plugin/DDS.pm @@ -0,0 +1,22 @@ +package Devel::REPL::Plugin::DDS; + +use Moose::Role; +use Data::Dump::Streamer (); + +around 'print' => sub { + my $orig = shift; + my $self = shift; + my $to_dump = (@_ > 1) ? [@_] : $_[0]; + my $out; + if (ref $to_dump) { + my $dds = Data::Dump::Streamer->new; + $dds->Freezer(sub { "$_[0]"; }); + $dds->Data($to_dump); + $out = $dds->Out; + } else { + $out = $to_dump; + } + $self->$orig($out); +}; + +1;