/usr/share/perl5/Devel/REPL/Plugin/CompletionDriver/Turtles.pm is in libdevel-repl-perl 1.003026-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | use strict;
use warnings;
package Devel::REPL::Plugin::CompletionDriver::Turtles;
BEGIN {
$Devel::REPL::Plugin::CompletionDriver::Turtles::AUTHORITY = 'cpan:PHAYLON';
}
$Devel::REPL::Plugin::CompletionDriver::Turtles::VERSION = '1.003026';
use Devel::REPL::Plugin;
use Devel::REPL::Plugin::Completion; # die early if cannot load
use namespace::autoclean;
sub BEFORE_PLUGIN {
my $self = shift;
$self->load_plugin('Completion');
}
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->get_all_methods
),
);
} else {
return @orig;
}
};
__PACKAGE__
__END__
=head1 NAME
Devel::REPL::Plugin::CompletionDriver::Turtles - Complete Turtles-based commands
=head1 VERSION
version 1.003026
=head1 AUTHOR
Yuval Kogman E<lt>nothingmuch@woobling.orgE<gt>
=cut
|