X-Git-Url: http://git.ieval.ro/?p=filters.git;a=blobdiff_plain;f=fanboy;h=3881f0ae9b7df6571f78de803dae38fee9625953;hp=32fe7e396f7f06b3279b5a4ff547c876cbbf1725;hb=HEAD;hpb=84cbfd03b1483609e1b9fdf8b8b4403533e17748 diff --git a/fanboy b/fanboy index 32fe7e3..3881f0a 100755 --- a/fanboy +++ b/fanboy @@ -1,23 +1,36 @@ #!/usr/bin/perl +my %topics=( + git => [qw(linus git linux rebase rebased merge merged cherry-pick + branch branched branches git-* push pull pushed pulled)], + ubuntu => [qw(Mark MOTU PPA ubuntu debian rock rocks rule dapper + feisty fiesty gutsy hoary hardy edgy + universe launchpad gnome desktop naked sabdfl community)], + debian => [qw(Debian rules rule ian murdock upstream release + stable unstable testing apt apt-get deb developer NM RM + NMU FTBFS BTS ITP DFSG non-free free d.o)], +); + if (! @ARGV) { - @ARGV=qw(linus git linux rebase rebased merge merged cherry-pick - branch branched branches git-*); + @ARGV=@{$topics{git}}; +} +elsif (@ARGV == 1 && exists $topics{lc $ARGV[0]}) { + @ARGV=@{$topics{lc $ARGV[0]}}; } -my $coolstuff=join("|", +my $total_awesomeness_dude=join("|", map { $_=quotemeta($_); s/\\\*/.*/g; s/\\\?/./g; - $_; + qr/\b$_\b/; } reverse sort @ARGV); my $len=0; my $indent=""; my $indent_printed=0; while () { - if (/$coolstuff/) { + if (/$total_awesomeness_dude/i) { if (/^([>|][>|\s]*)/) { if ($indent ne $1) { print "\n" if $len; @@ -35,7 +48,7 @@ while () { $indent_printed=0; } - while(/(($coolstuff)[.?!]*)/ig) { + while(/(($total_awesomeness_dude)[.?!]*)/ig) { $len+=length($1)+1; if ($len > 70) { print "\n";