Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / Psh / Builtins / History.pm
CommitLineData
86530b38
AT
1package Psh::Builtins::History;
2
3require Psh::Util;
4
5=item * C<history> [n]
6
7Prints out [the last n] entries in the history
8
9=item * C<history> text [n]
10
11Searches [the last n] entries in the command history and
12prints them if they contain "text".
13
14=cut
15
16
17sub bi_history
18{
19 my $i;
20 my $num = @Psh::history;
21 my $grep= undef;
22
23 return (0,undef) unless $num;
24
25 if ($_[1]) {
26 my @args=@{$_[1]};
27 while (my $arg=shift @args) {
28 if ($arg=~/^\d+$/) {
29 $num=$arg if $arg<$num;
30 }
31 if ($arg=~/^\S+$/) {
32 $grep=$arg;
33 }
34 }
35 }
36
37 my $success=0;
38 my $max= @Psh::history;
39 if ($grep) {
40 $max--;
41 }
42 for ($i=@Psh::history-$num; $i<$max; $i++) {
43 next if $grep and $Psh::history[$i]!~/\Q$grep\E/;
44 Psh::Util::print_out(' '.sprintf('%3d',$i+1).' '.$Psh::history[$i]."\n");
45 $success=1;
46 }
47 return ($success,undef);
48}
49
50
51
521;
53
54# Local Variables:
55# mode:perl
56# tab-width:4
57# indent-tabs-mode:t
58# c-basic-offset:4
59# perl-label-offset:0
60# perl-indent-level:4
61# cperl-indent-level:4
62# cperl-label-offset:0
63# End: