resolve rt.cpan#43807 three Completion drivers not loading Completion plugin
[p5sagit/Devel-REPL.git] / lib / Devel / REPL / Plugin / FindVariable.pm
index 2b35755..9c06906 100644 (file)
@@ -1,11 +1,19 @@
 package Devel::REPL::Plugin::FindVariable;
 
-use Moose::Role;
+use Devel::REPL::Plugin;
 use namespace::clean -except => [ 'meta' ];
 
 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} )
+            if exists $self->lexical_environment->get_context('_')->{$name};
+    }
+
     my $sigil = $name =~ s/^([\$\@\%\&\*])// ? $1 : '';
 
     my $default_package = $self->can('current_package')
@@ -21,3 +29,15 @@ sub find_variable {
 
 1;
 
+__END__
+
+=head1 NAME
+
+Devel::REPL::Plugin::FindVariable - Finds variables by name
+
+=head1 AUTHOR
+
+Shawn M Moore, C<< <sartak at gmail dot com> >>
+
+=cut
+