X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=fanboy;h=4a4e0e4128c60b281bb7962674f37de468be4635;hb=52d398066d37216e269aedb48721417c4b35bf2d;hp=743a004641e22fc183d7cd2dc4a17c091d7f4369;hpb=8762c758ec76e7b774c84dd6dd182b9726f0f724;p=filters.git diff --git a/fanboy b/fanboy index 743a004..4a4e0e4 100755 --- a/fanboy +++ b/fanboy @@ -1,17 +1,35 @@ #!/usr/bin/perl +my %topics=( + git => [qw(linus git linux rebase rebased merge merged cherry-pick + branch branched branches git-*)], + ubuntu => [qw(Mark MOTU ubuntu debian rock rocks rule dapper + feisty fiesty gutsy hoary edgy universe launchpad gnome desktop + naked sabdfl)], + debian => [qw(Debian rules rule ian murdock upstream release + stable unstable testing apt apt-get deb)], +); + if (! @ARGV) { - @ARGV=qw(linus git linux rebase rebased merge merged cherry-pick - branch branched branches); + @ARGV=@{$topics{git}}; +} +elsif (@ARGV == 1 && exists $topics{lc $ARGV[0]}) { + @ARGV=@{$topics{lc $ARGV[0]}}; } -my $coolstuff=join("|", map { "\Q$_\E" } reverse sort @ARGV); +my $total_awesomeness_dude=join("|", + map { + $_=quotemeta($_); + s/\\\*/.*/g; + s/\\\?/./g; + $_; + } reverse sort @ARGV); my $len=0; my $indent=""; my $indent_printed=0; while () { - if (/$coolstuff/) { + if (/$total_awesomeness_dude/) { if (/^([>|][>|\s]*)/) { if ($indent ne $1) { print "\n" if $len; @@ -29,7 +47,7 @@ while () { $indent_printed=0; } - while(/(($coolstuff)[.?!]*)/ig) { + while(/(($total_awesomeness_dude)[.?!]*)/ig) { $len+=length($1)+1; if ($len > 70) { print "\n";