File Coverage

lib/Devel/Trepan/CmdProcessor/Command/Set.pm
Criterion Covered Total %
statement 63 77 81.8
branch 0 8 0.0
condition 0 6 0.0
subroutine 21 23 91.3
pod 0 2 0.0
total 84 116 72.4


line stmt bran cond sub pod time code
1             # -*- coding: utf-8 -*-
2             # Copyright (C) 2011-2014 Rocky Bernstein <rocky@cpan.org>
3 12     12   818 use warnings; no warnings 'redefine';
  12     12   29  
  12     2   438  
  12     2   71  
  12         30  
  12         529  
  2         20  
  2         9  
  2         93  
  2         16  
  2         7  
  2         136  
4              
5             package Devel::Trepan::CmdProcessor::Command::Set;
6              
7 12     12   67 use rlib '../../../..';
  12     2   32  
  12         74  
  2         14  
  2         15  
  2         15  
8 12     12   4692 use if !@ISA, Devel::Trepan::CmdProcessor::Command::Subcmd::SubMgr;
  12     2   26  
  12         70  
  2         1074  
  2         6  
  2         19  
9             unless (@ISA) {
10 12     12   86 eval <<'EOE';
  12     12   31  
  12     12   754  
  12     12   80  
  12     12   34  
  12         596  
  12         88  
  12         31  
  12         571  
  12         71  
  12         34  
  12         531  
  12         66  
  12         37  
  12         524  
11             use constant CATEGORY => 'support';
12             use constant SHORT_HELP => 'Modify parts of the debugger environment';
13             use constant MIN_ARGS => 0; # Need at least this many
14             use constant MAX_ARGS => undef; # Need at most this many -
15             # undef -> unlimited.
16             use constant NEED_STACK => 0;
17             EOE
18             }
19              
20 12     12   991 use if !@ISA, Devel::Trepan::CmdProcessor::Command;
  12     2   32  
  12         59  
  2         187  
  2         6  
  2         13  
21 12     12   1822 use strict;
  12     2   32  
  12         353  
  2         78  
  2         8  
  2         71  
22 12     12   71 use vars qw(@ISA);
  12     2   30  
  12         665  
  2         14  
  2         4  
  2         154  
23             @ISA = qw(Devel::Trepan::CmdProcessor::Command::SubcmdMgr);
24 12     12   74 use vars @CMD_VARS;
  12     2   38  
  12         3455  
  2         15  
  2         7  
  2         803  
25              
26             our $NAME = set_name();
27             =pod
28              
29             =head2 Synopsis:
30              
31             =cut
32              
33             our $HELP = <<'HELP';
34             =pod
35              
36             B<set> [I<set sub-commmand> ...]
37              
38             Modifies parts of the debugger environment.
39              
40             You can give unique prefix of the name of a subcommand to get
41             information about just that subcommand.
42              
43             Type C<set> for a list of set subcommands and what they do.
44              
45             Type C<help set *> for the list of C<set> subcommands.
46              
47             C<set auto...> is the same as C<set auto ...>. For example, C<set
48             autolist> is the same as L<C<set auto
49             list>|Devel::Trepan::CmdProcessor::Command::Set::Auto::List>.
50              
51             =head2 See also:
52              
53             L<C<set abbrev>|Devel::Trepan::CmdProcessor::Command::Set::Abbrev>,
54             L<C<set auto>|Devel::Trepan::CmdProcessor::Command::Set::Auto>,
55             L<C<set basename>|Devel::Trepan::CmdProcessor::Command::Set::Basename>,
56             L<C<set confirm>|Devel::Trepan::CmdProcessor::Command::Set::Confirm>,
57             L<C<set debug>|Devel::Trepan::CmdProcessor::Command::Set::Debug>,
58             L<C<set different>|Devel::Trepan::CmdProcessor::Command::Set::Different>,
59             L<C<set display>|Devel::Trepan::CmdProcessor::Command::Set::Display>,
60             L<C<set highlight>|Devel::Trepan::CmdProcessor::Command::Set::Highlight>,
61             L<C<set max>|Devel::Trepan::CmdProcessor::Command::Set::Max>,
62             L<C<set return>|Devel::Trepan::CmdProcessor::Command::Set::Return>,
63             L<C<set substitute>|Devel::Trepan::CmdProcessor::Command::Set::Substitute>,
64             L<C<set timer>|Devel::Trepan::CmdProcessor::Command::Set::Timer>,
65             L<C<set trace>|Devel::Trepan::CmdProcessor::Command::Set::Trace>, and
66             L<C<set variable>|Devel::Trepan::CmdProcessor::Command::Set::Variable>
67             =cut
68             HELP
69              
70             sub run($$)
71             {
72 0     0 0   my ($self, $args) = @_;
  0     0 0    
73 0           my $first;
  0            
74 0 0         if (scalar @$args > 1) {
  0 0          
75 0           $first = lc $args->[1];
  0            
76 0           my $alen = length('auto');
  0            
77 0 0 0       splice(@$args, 1, 1, ('auto', substr($first, $alen))) if
  0 0 0        
78             index($first, 'auto') == 0 && length($first) > $alen;
79             }
80 0           $self->SUPER::run($args);
  0            
81             }
82              
83             unless (caller) {
84             require Devel::Trepan::CmdProcessor;
85             my $proc = Devel::Trepan::CmdProcessor->new(undef, 'bogus');
86             my $cmd = __PACKAGE__->new($proc, $NAME);
87             # require_relative '../mock'
88             $cmd->run([$NAME]);
89             # $cmd->run([$NAME, 'autolist']);
90             # $cmd->run([$NAME, 'autoeval', 'off']);
91             $cmd->run([$NAME, 'basename']);
92             }
93              
94             1;