git.shiar.nl
/
barcat.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2c58b0c
)
parse options to override width
author
Mischa POSLAWSKY
<perl@shiar.org>
Wed, 4 Sep 2019 16:35:54 +0000
(18:35 +0200)
committer
Mischa POSLAWSKY
<perl@shiar.org>
Thu, 5 Sep 2019 03:11:33 +0000
(
05:11
+0200)
graph
patch
|
blob
|
history
diff --git
a/graph
b/graph
index b53ac6a8496e2f1f46886ab21cc39a7bc6bc6c78..6fa5845b349540070fc85d72876ff564cabad7eb 100755
(executable)
--- a/
graph
+++ b/
graph
@@
-3,7
+3,11
@@
use 5.014;
use warnings;
use List::Util qw( max sum );
use warnings;
use List::Util qw( max sum );
-my $width = $ENV{COLUMNS} || 80;
+use Getopt::Long;
+GetOptions(\my %opt,
+ 'width|w=i',
+) or exit 64; # EX_USAGE
+$opt{width} ||= $ENV{COLUMNS} || 80;
my @lines = readline;
chomp for @lines;
my @lines = readline;
chomp for @lines;
@@
-11,7
+15,7
@@
my @values = map { s/^\h*([0-9]*)// and $1 } @lines;
my @order = sort { $b <=> $a } @values;
my $lenval = 1 + int log($order[0]) / log 10; # max string length
my $len = 1 + max map { length } @lines; # left padding
my @order = sort { $b <=> $a } @values;
my $lenval = 1 + int log($order[0]) / log 10; # max string length
my $len = 1 + max map { length } @lines; # left padding
-my $size = ($
width
- $lenval - $len) / $order[0]; # bar multiplication
+my $size = ($
opt{width}
- $lenval - $len) / $order[0]; # bar multiplication
sub orderpos { ($order[$_[0]] + $order[$_[0] + .5]) / 2 * $size }
my @barmark;
sub orderpos { ($order[$_[0]] + $order[$_[0] + .5]) / 2 * $size }
my @barmark;