From 71ce3ea69a2b915162402a9dc172191031533b4a Mon Sep 17 00:00:00 2001 From: Andinus Date: Fri, 3 Jul 2020 12:12:22 +0530 Subject: Add syncemacs function --- leo.pl | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 leo.pl (limited to 'leo.pl') diff --git a/leo.pl b/leo.pl new file mode 100755 index 0000000..462d2bf --- /dev/null +++ b/leo.pl @@ -0,0 +1,35 @@ +#!/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 { 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 ]; +} -- cgit 1.4.1-2-gfad0