[Bast-commits] r4340 -
trunk/Devel-REPL/lib/Devel/REPL/Plugin/CompletionDriver
nothingmuch at dev.catalyst.perl.org
nothingmuch at dev.catalyst.perl.org
Tue May 6 03:06:01 BST 2008
Author: nothingmuch
Date: 2008-05-06 03:06:01 +0100 (Tue, 06 May 2008)
New Revision: 4340
Added:
trunk/Devel-REPL/lib/Devel/REPL/Plugin/CompletionDriver/Turtles.pm
Log:
Add CompletionDriver::Turtles
Added: trunk/Devel-REPL/lib/Devel/REPL/Plugin/CompletionDriver/Turtles.pm
===================================================================
--- trunk/Devel-REPL/lib/Devel/REPL/Plugin/CompletionDriver/Turtles.pm (rev 0)
+++ trunk/Devel-REPL/lib/Devel/REPL/Plugin/CompletionDriver/Turtles.pm 2008-05-06 02:06:01 UTC (rev 4340)
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+package Devel::REPL::Plugin::CompletionDriver::Turtles;
+use Devel::REPL::Plugin;
+
+with qw(
+ Devel::REPL::Plugin::Completion
+ Devel::REPL::Plugin::Turtles
+);
+
+around complete => sub {
+ my $orig = shift;
+ my ($self, $text, $document) = @_;
+
+ my $prefix = $self->default_command_prefix;
+ my $line_re = qr/^($prefix)(\w+)/;
+
+ my @orig = $self->$orig($text, $document);
+
+ if ( my ( $pre, $method ) = ( $text =~ $line_re ) ) {
+ my $filter = qr/^\Q$method/;
+ return (
+ @orig,
+ (
+ map { "$pre$_" }
+ grep { $_ =~ $filter }
+ map { /^expr?_command_(\w+)/ ? $1 : () }
+ map { $_->{name} }
+ $self->meta->compute_all_applicable_methods
+ ),
+ );
+ } else {
+ return @orig;
+ }
+};
+
+__PACKAGE__
+
+__END__
+
+
More information about the Bast-commits
mailing list