summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dist.ini1
-rw-r--r--lib/Reply/Plugin/AutoRefresh.pm29
2 files changed, 30 insertions, 0 deletions
diff --git a/dist.ini b/dist.ini
index ad49292..48ce4a2 100644
--- a/dist.ini
+++ b/dist.ini
@@ -32,3 +32,4 @@ Data::Dump = 0
Data::Printer = 0
Proc::InvokeEditor = 0
Term::ReadLine::Gnu = 0
+Class::Refresh = 0
diff --git a/lib/Reply/Plugin/AutoRefresh.pm b/lib/Reply/Plugin/AutoRefresh.pm
new file mode 100644
index 0000000..6341c9d
--- /dev/null
+++ b/lib/Reply/Plugin/AutoRefresh.pm
@@ -0,0 +1,29 @@
+package Reply::Plugin::AutoRefresh;
+use strict;
+use warnings;
+# ABSTRACT: provides a more informative prompt
+
+use base 'Reply::Plugin';
+use Class::Refresh;
+
+=head1 SYNOPSIS
+
+ ; .replyrc
+ [AutoRefresh]
+
+=head1 DESCRIPTION
+
+This plugin automatically refreshes all loaded modules after every
+statement execution. It's useful if you are working on a module in
+a file and you want the changes to automatically be loaded in reply.
+
+=cut
+
+sub execute {
+ my $self = shift;
+ my ($next, @args) = @_;
+
+ Class::Refresh->refresh;
+ $next->(@args);
+}
+1;