quick test, update deps, add DDS plugin
[p5sagit/Devel-REPL.git] / lib / Devel / REPL / Plugin / DDS.pm
diff --git a/lib/Devel/REPL/Plugin/DDS.pm b/lib/Devel/REPL/Plugin/DDS.pm
new file mode 100644 (file)
index 0000000..512d48c
--- /dev/null
@@ -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;