X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=lib%2FDevel%2FREPL%2FPlugin%2FFindVariable.pm;h=d704dea6d388c6f69b6ca40ef5d3db84c43f537c;hp=2b357552929d00679990ed44117e23b0bad66a8a;hb=06df07674a6770b9bef20bff5bebc7ce648d4f35;hpb=e93892cd24b9c3a90f80dd4445043513b05211a1 diff --git a/lib/Devel/REPL/Plugin/FindVariable.pm b/lib/Devel/REPL/Plugin/FindVariable.pm index 2b35755..d704dea 100644 --- a/lib/Devel/REPL/Plugin/FindVariable.pm +++ b/lib/Devel/REPL/Plugin/FindVariable.pm @@ -6,6 +6,14 @@ 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<< >> + +=cut +