use Getopt::Long '2.33', qw( :config gnu_getopt );
my %opt;
GetOptions(\%opt,
+ 'ascii|a!',
'color|c!',
'C' => sub { $opt{color} = 0 },
'field|f=s' => sub {
$opt{'graph-format'} = substr $_[1], 0, 1;
},
'spark:s' => sub {
- $opt{spark} = [split //, $_[1] || ' ▁▂▃▄▅▆▇█'];
+ $opt{spark} = [split //,
+ $_[1] || ($opt{ascii} ? ' ..oOO' : ' ▁▂▃▄▅▆▇█')
+ ];
},
'palette=s' => sub {
$opt{palette} = {
$opt{color} //= -t *STDOUT; # enable on tty
$opt{'graph-format'} //= '-';
$opt{trim} *= $opt{width} / 100 if $opt{trimpct};
-$opt{units} = [split //, ' kMGTPEZYyzafpnμm'] if $opt{'human-readable'};
+$opt{units} = [split //, ' kMGTPEZYyzafpn'.($opt{ascii} ? 'u' : 'μ').'m']
+ if $opt{'human-readable'};
$opt{anchor} //= qr/\A/;
$opt{'value-length'} = 6 if $opt{units};
$opt{'value-length'} = 1 if $opt{unmodified};
}
elsif (length > $trimpos) {
# cut and replace (intentional lvalue for speed, contrary to PBP)
- substr($_, $trimpos - 1) = '…';
+ substr($_, $trimpos - 1) = $opt{ascii} ? '>' : '…';
}
}
push @lines, $_;
=over
+=item -a, --[no-]ascii
+
+Restrict user interface to ASCII characters,
+replacing default UTF-8 by their closest approximation.
+Input is always interpreted as UTF-8 and shown as is.
+
=item -c, --[no-]color
Force colored output of values and bar markers.