blob: 37f620c392aeae91c5f6cbdb6dfdd9e624d9ba66 (
plain) (
tree)
|
|
#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
use lib::relative 'lib';
use Emacs;
use FindBin;
use Path::Tiny;
use IPC::Run3;
use Getopt::Long qw/ GetOptions /;
use Term::ANSIColor qw/ :pushpop colored color /;
local $SIG{__WARN__} = sub { print colored( $_[0], 'yellow' ); };
my %options = ();
GetOptions(
\%options,
qw{ verbose debug }
) or die "Error in command line arguments\n";
my %dispatch = (
"sync emacs" => sub { $options{config} = 1; Emacs::sync(\%options); },
"sync irclogs" => sub { $options{irclogs} = 1; Emacs::sync(\%options); },
"sync authinfo" => sub { $options{authinfo} = 1; Emacs::sync(\%options); },
);
if ( $dispatch{ "@ARGV" } ) {
$dispatch{ "@ARGV" }->();
} else {
my $file = path($FindBin::RealBin . "/share/theo");
my @insults = split/\n%\n/, $file->slurp;
print LOCALCOLOR RED "[ERR] " if $options{verbose};
say LOCALCOLOR YELLOW $insults[ rand @insults ];
}
|