summaryrefslogtreecommitdiffstats
path: root/lib/Reply/Plugin/Autocomplete/Commands.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-07-10 02:23:13 -0400
committerJesse Luehrs <doy@tozt.net>2013-07-10 02:23:13 -0400
commitd30b4d66828b31823af1885d48a07825b4b570ee (patch)
treeca6dbbc004348ed47259a9e32c67c6179cb2baad /lib/Reply/Plugin/Autocomplete/Commands.pm
parent99202371c7784d346cf43a4c25c64bb6d7630f10 (diff)
downloadreply-d30b4d66828b31823af1885d48a07825b4b570ee.tar.gz
reply-d30b4d66828b31823af1885d48a07825b4b570ee.zip
autocomplete for commands (fixes #18)
Diffstat (limited to 'lib/Reply/Plugin/Autocomplete/Commands.pm')
-rw-r--r--lib/Reply/Plugin/Autocomplete/Commands.pm19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Reply/Plugin/Autocomplete/Commands.pm b/lib/Reply/Plugin/Autocomplete/Commands.pm
new file mode 100644
index 0000000..ec86208
--- /dev/null
+++ b/lib/Reply/Plugin/Autocomplete/Commands.pm
@@ -0,0 +1,19 @@
+package Reply::Plugin::Autocomplete::Commands;
+use strict;
+use warnings;
+
+use base 'Reply::Plugin';
+
+sub tab_handler {
+ my $self = shift;
+ my ($line) = @_;
+
+ my ($prefix) = $line =~ /^#(.*)/;
+ return unless defined $prefix;
+
+ my @commands = $self->publish('commands');
+
+ return map { "#$_" } sort grep { index($_, $prefix) == 0 } @commands;
+}
+
+1;