Unverified Commit 78983b4f authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

dbris: Add --colour={auto,always,never} option

parent 1edf2e31
Loading
Loading
Loading
Loading
+35 −13
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ my ( $first_class, $passengers );
my ( $developer_mode, $verbose );
my ( $json_output,    $raw_json_output );
my $use_cache  = 1;
my $use_colour = 'auto';
my $cache;

my %known_mot = map { $_ => 1 }
@@ -32,20 +33,20 @@ for my $arg (@ARGV) {
	$arg = decode( 'UTF-8', $arg );
}

my $output_bold  = -t STDOUT ? "\033[1m" : q{};
my $output_reset = -t STDOUT ? "\033[0m" : q{};
my $output_bold  = "\033[1m";
my $output_reset = "\033[0m";

my $output_fyi      = -t STDOUT ? "\033[40;36m" : q{};
my $output_unknown  = -t STDOUT ? "\033[40;35m" : q{};
my $output_good     = -t STDOUT ? "\033[40;32m" : q{};
my $output_warning  = -t STDOUT ? "\033[40;33m" : q{};
my $output_critical = -t STDOUT ? "\033[40;31m" : q{};
my $output_fyi      = "\033[40;36m";
my $output_unknown  = "\033[40;35m";
my $output_good     = "\033[40;32m";
my $output_warning  = "\033[40;33m";
my $output_critical = "\033[40;31m";

my $output_bold_fyi      = -t STDOUT ? "\033[1;40;36m" : q{};
my $output_bold_unknown  = -t STDOUT ? "\033[1;40;35m" : q{};
my $output_bold_good     = -t STDOUT ? "\033[1;40;32m" : q{};
my $output_bold_warning  = -t STDOUT ? "\033[1;40;33m" : q{};
my $output_bold_critical = -t STDOUT ? "\033[1;40;31m" : q{};
my $output_bold_fyi      = "\033[1;40;36m";
my $output_bold_unknown  = "\033[1;40;35m";
my $output_bold_good     = "\033[1;40;32m";
my $output_bold_warning  = "\033[1;40;33m";
my $output_bold_critical = "\033[1;40;31m";

GetOptions(
	'a|arrive=s'           => sub { $arrival = 1; $time = $_[1] },
@@ -64,12 +65,25 @@ GetOptions(
	'v|verbose'            => \$verbose,
	'V|version'            => \&show_version,
	'cache!'               => \$use_cache,
	'color=s'              => \$use_colour,
	'colour=s'             => \$use_colour,
	'devmode'              => \$developer_mode,
	'json'                 => \$json_output,
	'raw-json'             => \$raw_json_output,

) or show_help(1);

if ( $use_colour eq 'auto'
	and ( not -t STDOUT or ( defined $ENV{TERM} and $ENV{TERM} eq 'dumb' ) )
	or $use_colour eq 'never' )
{
	$output_bold = $output_reset   = q{};
	$output_fyi  = $output_unknown = $output_good = $output_warning
	  = $output_critical = q{};
	$output_bold_fyi = $output_bold_unknown = $output_bold_good
	  = $output_bold_warning = $output_bold_critical = q{};
}

if ($use_cache) {
	my $cache_path = ( $ENV{XDG_CACHE_HOME} // "$ENV{HOME}/.cache" )
	  . '/Travel-Routing-DE-DBRIS';
@@ -553,6 +567,14 @@ connections, with an optional minimum stopover I<duration> given in minutes.
Request connections that arrive on or after I<HH:MM>.
Overrides B<--time>.

=item B<--colour>, B<--color> B<always>|B<auto>|B<never>

By default, B<dbris-m> uses ANSI escape codes for output formatting whenever
the output is connected to a terminal and the TERM environment variable is not
set to C<< dumb >>. B<--colour=always> causes it to always use output
formatting regardless of terminal setup, and B<--colour=never> disables any
formatting. B<--colour=auto> restores the default behaviour.

=item B<-d>, B<--date> I<dd.mm.>[I<yyyy>]

Request connections for a specific day.