Commit | Line | Data |
54d0f9a0 |
1 | package Devel::REPL::Plugin::Interrupt; |
2 | |
6a5409bc |
3 | use Devel::REPL::Plugin; |
54d0f9a0 |
4 | use namespace::clean -except => [ 'meta' ]; |
5 | |
6 | around 'eval' => sub { |
7 | my $orig = shift; |
8 | my ($self, $line) = @_; |
9 | |
10 | local $SIG{INT} = sub { |
11 | die "Interrupted.\n"; |
12 | }; |
13 | |
14 | return $self->$orig($line); |
15 | }; |
16 | |
17 | 1; |
18 | |
cfd1094b |
19 | __END__ |
20 | |
21 | =head1 NAME |
22 | |
23 | Devel::REPL::Plugin::Interrupt - traps SIGINT to kill long-running lines |
24 | |
30b459d4 |
25 | =head1 AUTHOR |
26 | |
27 | Shawn M Moore, C<< <sartak at gmail dot com> >> |
28 | |
cfd1094b |
29 | =cut |
30 | |