X-Git-Url: http://git.shiar.nl/barcat.git/blobdiff_plain/b7992da312c627399c0363b59b3c00df380aee1d..a66dc847f71255c361b1350b1ee38b35dffb7454:/barcat diff --git a/barcat b/barcat index a443942..1818493 100755 --- a/barcat +++ b/barcat @@ -9,10 +9,6 @@ use experimental qw( lexical_subs ); our $VERSION = '1.05'; use Getopt::Long '2.33', qw( :config gnu_getopt ); -sub podexit { - require Pod::Usage; - Pod::Usage::pod2usage(-exitval => 0, -perldocopt => '-oman', @_); -} my %opt; GetOptions(\%opt, 'color|c!', @@ -69,7 +65,12 @@ GetOptions(\%opt, print $contents; exit; }, - 'help' => sub { podexit(-verbose => 2) }, + 'help|?' => sub { + require Pod::Usage; + Pod::Usage::pod2usage( + -exitval => 0, -perldocopt => '-oman', -verbose => 2, + ); + }, ) or exit 64; # EX_USAGE $opt{width} ||= $ENV{COLUMNS} || 80; @@ -111,7 +112,7 @@ while (readline) { my $trimpos = abs $opt{trim}; $trimpos -= length $1 if $opt{unmodified}; if ($trimpos <= 1) { - $_ = substr $_, 0, 1; + $_ = substr $_, 0, 2; } elsif (length > $trimpos) { substr($_, $trimpos - 1) = '…'; @@ -219,10 +220,13 @@ if ($opt{stat}) { } if (@order) { my $total = sum @order; - printf '%s total', $total; + printf '%s total', color(1) . $total . color(0); printf ' in %d values', scalar @values; - printf ' (%s min, %*.*f avg, %s max)', - $order[-1], 0, 2, $total / @order, $order[0]; + printf(' (%s min, %s avg, %s max)', + color(31) . $order[-1] . color(0), + color(36) . (sprintf '%*.*f', 0, 2, $total / @order) . color(0), + color(32) . $order[0] . color(0), + ); } say ''; } @@ -244,6 +248,12 @@ Visualizes relative sizes of values read from input (file(s) or STDIN). Contents are concatenated similar to I, but numbers are reformatted and a bar graph is appended to each line. +Don't worry, barcat does not drink and divide. +It can has various options for input and output (re)formatting, +but remains limited to one-dimensional charts. +For more complex graphing needs +you'll need a larger animal like I. + =head1 OPTIONS =over @@ -344,6 +354,19 @@ Reserved space for numbers. Override the maximum number of columns to use. Appended graphics will extend to fill up the entire screen. +=item -h, --usage + +Overview of available options. + +=item --help + +Full documentation +rendered by perldoc. + +=item --version + +Version information. + =back =head1 EXAMPLES