+use strict;
+use warnings;
package Devel::REPL::Plugin::FindVariable;
+# ABSTRACT: Finds variables by name
-use Moose::Role;
-use namespace::clean -except => [ 'meta' ];
+our $VERSION = '1.003030';
+
+use Devel::REPL::Plugin;
+use namespace::autoclean;
sub find_variable {
my ($self, $name) = @_;
+ return \$self if $name eq '$_REPL';
+
# XXX: this code needs to live in LexEnv
if ($self->can('lexical_environment')) {
return \( $self->lexical_environment->get_context('_')->{$name} )
my $meta = Class::MOP::Class->initialize($package);
- return unless $meta->has_package_symbol("$sigil$name");
+ # Class::MOP::Package::has_package_symbol method *requires* a sigil
+ return unless length($sigil) and $meta->has_package_symbol("$sigil$name");
$meta->get_package_symbol("$sigil$name");
}
__END__
-=head1 NAME
-
-Devel::REPL::Plugin::FindVariable - Finds variables by name
+=pod
=head1 AUTHOR
Shawn M Moore, C<< <sartak at gmail dot com> >>
=cut
-