$opt{'signal-stat'} //= exists $SIG{INFO} ? 'INFO' : 'QUIT';
$opt{markers} //= '=avg >31.73v <68.27v +50v |0';
$opt{palette} //= $opt{color} && [31, 90, 32];
+$opt{hidemin} = ($opt{hidemin} || 1) - 1;
$opt{input} = @ARGV && $ARGV[0] =~ m/\A[-0-9]/ ? \@ARGV : undef
and undef $opt{interval};
$_ = color(@_) . $_ . color(0) if defined;
}
+sub sival {
+ my $unit = int(log(abs $_[0] || 1) / log(10) - 3*($_[0] < 1) + 1e-15);
+ my $float = $_[0] !~ /^0*[-0-9]{1,3}$/;
+ sprintf('%3.*f%1s',
+ $float && ($unit % 3) == ($unit < 0), # tenths
+ $_[0] / 1000 ** int($unit/3), # number
+ $#{$opt{units}} * 1.5 < abs $unit ? "e$unit" : $opt{units}->[$unit/3]
+ );
+}
+
sub show_lines {
-state $nr = $opt{hidemin} ? $opt{hidemin} - 1 : 0;
-@lines and @lines > $nr or return;
+state $nr = $opt{hidemin};
@lines or return;
-@lines > $nr or return unless $opt{hidemin};
+@lines > $nr or return;
@order = sort { $b <=> $a } @order unless tied @order;
my $maxval = $opt{maxval} // (
}
}
-@lines > $nr or return if $opt{hidemin};
-
-sub sival {
- my $unit = int(log(abs $_[0] || 1) / log(10) - 3*($_[0] < 1) + 1e-15);
- my $float = $_[0] !~ /^0*[-0-9]{1,3}$/;
- sprintf('%3.*f%1s',
- $float && ($unit % 3) == ($unit < 0), # tenths
- $_[0] / 1000 ** int($unit/3), # number
- $#{$opt{units}} * 1.5 < abs $unit ? "e$unit" : $opt{units}->[$unit/3]
- );
-}
-
say(
color(31), sprintf('%*s', $lenval, $minval),
color(90), '-', color(36), '+',
sub show_stat {
if ($opt{hidemin} or $opt{hidemax}) {
- $opt{hidemin} ||= 1;
- $opt{hidemax} ||= @lines;
- printf '%s of ', sum(grep {length} @values[$opt{hidemin} - 1 .. $opt{hidemax} - 1]) // 0;
+ printf '%s of ', sum(grep { length }
+ @values[$opt{hidemin} .. ($opt{hidemax} || @lines) - 1]
+ ) // 0;
}
if (@order) {
my $total = sum @order;
In case of additional colors,
the last is used for values equal to the maximum, the first for minima.
If unspecified, these are green and red respectively (I<31 90 32>).
+Multiple intermediate colors will be distributed
+relative to the size of values.
+
+Predefined color schemes are named I<whites> and I<fire>,
+or I<greys> and I<fire256> for 256-color variants.
=item --spark[=<characters>]