value-length option to override $lenval
authorMischa POSLAWSKY <perl@shiar.org>
Fri, 6 Sep 2019 23:47:10 +0000 (01:47 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Sep 2019 00:07:24 +0000 (02:07 +0200)
graph

diff --git a/graph b/graph
index fbed4ddf76e0740b0acaae40dd8ea067728e8353..ea17d4538eafe629e45323dae754ca4d3cea40e7 100755 (executable)
--- a/graph
+++ b/graph
@@ -28,6 +28,7 @@ GetOptions(\%opt,
                );
                $opt{trim} = $optval;
        },
                );
                $opt{trim} = $optval;
        },
+       'value-length=i',
        'markers|m=s',
        'unmodified|u!',
        'width|w=i',
        'markers|m=s',
        'unmodified|u!',
        'width|w=i',
@@ -80,7 +81,7 @@ state $nr = 0;
 my @order  = sort { $b <=> $a } grep { length } @values;
 my $maxval = $order[0];
 my $minval = min $order[-1], 0;
 my @order  = sort { $b <=> $a } grep { length } @values;
 my $maxval = $order[0];
 my $minval = min $order[-1], 0;
-my $lenval = max map { length } @order;
+my $lenval = $opt{'value-length'} // max map { length } @order;
 my $len    = defined $opt{trim} && $opt{trim} <= 0 ? -$opt{trim} + 1 :
        max map { length $values[$_] && length $lines[$_] } 0 .. $#lines;  # left padding
 my $size   = ($maxval - $minval) &&
 my $len    = defined $opt{trim} && $opt{trim} <= 0 ? -$opt{trim} + 1 :
        max map { length $values[$_] && length $lines[$_] } 0 .. $#lines;  # left padding
 my $size   = ($maxval - $minval) &&
@@ -220,6 +221,10 @@ or 68% of all entries.
 Do not strip leading whitespace.
 Keep original value alignment, which may be significant in some programs.
 
 Do not strip leading whitespace.
 Keep original value alignment, which may be significant in some programs.
 
+=item --value-length=<size>
+
+Reserved space for numbers.
+
 =item -w, --width=<columns>
 
 Override the maximum number of columns to use.
 =item -w, --width=<columns>
 
 Override the maximum number of columns to use.
@@ -260,7 +265,7 @@ Exchange rate USD/EUR history from CSV download provided by ECB:
 
     curl https://sdw.ecb.europa.eu/export.do \
          -Gd 'node=SEARCHRESULTS&q=EXR.D.USD.EUR.SP00.A&exportType=csv' |
 
     curl https://sdw.ecb.europa.eu/export.do \
          -Gd 'node=SEARCHRESULTS&q=EXR.D.USD.EUR.SP00.A&exportType=csv' |
-    grep '^[12]' | graph -f',\K'
+    grep '^[12]' | graph -f',\K' --value-length=7
 
 Total population history from the World Bank dataset (XML):
 
 
 Total population history from the World Bank dataset (XML):