Devel-Trepan-Shell
view release on metacpan or search on metacpan
"runtime" : {
"requires" : {
"Devel::REPL" : "0",
"Devel::Trepan" : "0.58",
"perl" : "5.008008",
"version" : "0"
}
}
},
"provides" : {
"Devel::REPL::Plugin::Perl5db" : {
"file" : "lib/Devel/REPL/Plugin/Perl5db.pm",
"version" : 0
},
"Devel::REPL::Plugin::Trepan" : {
"file" : "lib/Devel/REPL/Plugin/Trepan.pm",
"version" : 0
},
"Devel::REPL::Plugin::TrepanShell" : {
"file" : "lib/Devel/REPL/Plugin/TrepanShell.pm",
"version" : 0
},
"Devel::Trepan::CmdProcessor::Command::Shell" : {
"file" : "lib/Devel/Trepan/CmdProcessor/Command/Shell.pm",
"version" : 0
},
"Devel::Trepan::Shell" : {
"file" : "lib/Devel/Trepan/Shell.pm",
"version" : "1.5"
configure_requires:
Module::Build: 0.32
dynamic_config: 1
generated_by: 'Module::Build version 0.4007, CPAN::Meta::Converter version 2.120921'
license: open_source
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: Devel-Trepan-Shell
provides:
Devel::REPL::Plugin::Perl5db:
file: lib/Devel/REPL/Plugin/Perl5db.pm
version: 0
Devel::REPL::Plugin::Trepan:
file: lib/Devel/REPL/Plugin/Trepan.pm
version: 0
Devel::REPL::Plugin::TrepanShell:
file: lib/Devel/REPL/Plugin/TrepanShell.pm
version: 0
Devel::Trepan::CmdProcessor::Command::Shell:
file: lib/Devel/Trepan/CmdProcessor/Command/Shell.pm
version: 0
Devel::Trepan::Shell:
file: lib/Devel/Trepan/Shell.pm
version: 1.5
requires:
Devel::REPL: 0
lib/Devel/REPL/Plugin/Perl5db.pm view on Meta::CPAN
package Devel::REPL::Plugin::Perl5db;
use Devel::REPL::Plugin;
use Enbugger 'perl5db';
use namespace::clean -except => [ 'meta' ];
has 'history' => (
isa => 'ArrayRef', is => 'rw', required => 1, lazy => 1,
default => sub { [] }
);
around 'read' => sub {
my $orig = shift;
my ($self, @args) = @_;
my $line = $self->$orig(@args);
if (defined $line) {
if ($line =~ m/^%perl5db\s+(.*)$/) {
my $eval_code = $1;
$DB::eval_string =
"package Devel::REPL::Plugin::Packages::DefaultScratchpad;
Enbugger->stop; # newline is nice to have in showing code
$eval_code;
\$DB::signal = \$DB::single = \$DB::trace = 0;";
eval $DB::eval_string;
return $@;
}
}
return $line;
};
1;
__END__
=head1 NAME
Devel::REPL::Plugin::TrepanShell - Add '%' commands to call back Trepan in a Devel::REPL shell invoked from Devel::Trepan
=cut
lib/Devel/REPL/Plugin/Trepan.pm view on Meta::CPAN
package Devel::REPL::Plugin::Trepan;
use Devel::REPL::Plugin;
use Enbugger 'trepan';
use namespace::clean -except => [ 'meta' ];
has 'history' => (
isa => 'ArrayRef', is => 'rw', required => 1, lazy => 1,
default => sub { [] }
);
around 'read' => sub {
my $orig = shift;
my ($self, @args) = @_;
my $line = $self->$orig(@args);
if (defined $line) {
if ($line =~ m/^%trepan\s+(.*)$/) {
my $eval_code = $1;
$DB::eval_string =
"package Devel::REPL::Plugin::Packages::DefaultScratchpad;
Enbugger->stop; # newline is nice to have in showing code
$eval_code;
\$DB::signal = \$DB::single = \$DB::trace = 0;";
eval $DB::eval_string;
return $@;
}
}
return $line;
};
1;
__END__
=head1 NAME
Devel::REPL::Plugin::TrepanShell - Add '%' commands to call back Trepan in a Devel::REPL shell invoked from Devel::Trepan
=cut
lib/Devel/REPL/Plugin/TrepanShell.pm view on Meta::CPAN
package Devel::REPL::Plugin::TrepanShell;
use Devel::REPL::Plugin;
use namespace::clean -except => [ 'meta' ];
has 'history' => (
isa => 'ArrayRef', is => 'rw', required => 1, lazy => 1,
default => sub { [] }
);
around 'read' => sub {
my $orig = shift;
my ($self, @args) = @_;
lib/Devel/REPL/Plugin/TrepanShell.pm view on Meta::CPAN
}
return $line;
};
1;
__END__
=head1 NAME
Devel::REPL::Plugin::TrepanShell - Add '%' commands to call back Trepan in a Devel::REPL shell invoked from Devel::Trepan
=cut
lib/Devel/Trepan/CmdProcessor/Command/Shell.pm view on Meta::CPAN
# Copyright (C) 2011-2012, 2014 Rocky Bernstein <rocky@cpan.org>
use warnings; no warnings 'redefine';
package Devel::REPL::Plugin::TrepanShell;
use Devel::REPL::Plugin;
use namespace::clean -except => [ 'meta' ];
has 'history' => (
isa => 'ArrayRef', is => 'rw', required => 1, lazy => 1,
default => sub { [] }
);
around 'read' => sub {
my $orig = shift;
my ($self, @args) = @_;
my $line = $self->$orig(@args);
if (defined $line) {
if ($line =~ m/^%(.*)$/) {
$Devel::REPL::Plugin::TrepanShell::DEBUGGER_COMMAND = $1;
return undef;
}
}
return $line;
};
my $repl;
use rlib '../../../..';
package Devel::Trepan::CmdProcessor::Command::Shell;
use vars qw($DEBUGGER_COMMAND);
lib/Devel/Trepan/CmdProcessor/Command/Shell.pm view on Meta::CPAN
}
while (!$proc->{leave_cmd_loop}) {
$DEBUGGER_COMMAND='';
eval {
$repl->run;
};
if ($EVAL_ERROR) {
$self->errmsg($EVAL_ERROR);
}
my $cmd = $Devel::REPL::Plugin::TrepanShell::DEBUGGER_COMMAND;
if ($cmd) {
$proc->run_command($cmd);
} else { last; }
}
}
unless (caller) {
require Devel::Trepan::CmdProcessor;
my $proc = Devel::Trepan::CmdProcessor->new(undef, 'bogus');
my $cmd = __PACKAGE__->new($proc);
( run in 0.327 second using v1.01-cache-2.11-cpan-4ee56698ea0 )