only fair..
[filters.git] / fanboy
CommitLineData
5fbd4551
JH
1#!/usr/bin/perl
2
94ddd3c0
JH
3my %topics=(
4 git => [qw(linus git linux rebase rebased merge merged cherry-pick
5 branch branched branches git-*)],
52d39806 6 ubuntu => [qw(Mark MOTU ubuntu debian rock rocks rule dapper
94ddd3c0 7 feisty fiesty gutsy hoary edgy universe launchpad gnome desktop
52d39806
JH
8 naked sabdfl)],
9 debian => [qw(Debian rules rule ian murdock upstream release
10 stable unstable testing apt apt-get deb)],
94ddd3c0
JH
11);
12
5fbd4551 13if (! @ARGV) {
94ddd3c0
JH
14 @ARGV=@{$topics{git}};
15}
52d39806
JH
16elsif (@ARGV == 1 && exists $topics{lc $ARGV[0]}) {
17 @ARGV=@{$topics{lc $ARGV[0]}};
5fbd4551
JH
18}
19
94ddd3c0 20my $total_awesomeness_dude=join("|",
84cbfd03
JH
21 map {
22 $_=quotemeta($_);
23 s/\\\*/.*/g;
24 s/\\\?/./g;
25 $_;
26 } reverse sort @ARGV);
5fbd4551
JH
27
28my $len=0;
80e2e3ff
JH
29my $indent="";
30my $indent_printed=0;
5fbd4551 31while (<STDIN>) {
94ddd3c0 32 if (/$total_awesomeness_dude/) {
80e2e3ff
JH
33 if (/^([>|][>|\s]*)/) {
34 if ($indent ne $1) {
35 print "\n" if $len;
36 $len=0;
37 $indent=$1;
38 $indent_printed=0;
39 }
40 }
41 else {
42 if (length $indent && $indent_printed) {
43 print "\n";
44 $len=0;
45 }
46 $indent="";
47 $indent_printed=0;
48 }
49
94ddd3c0 50 while(/(($total_awesomeness_dude)[.?!]*)/ig) {
80e2e3ff
JH
51 $len+=length($1)+1;
52 if ($len > 70) {
53 print "\n";
54 $len=0;
55 }
56 if (length $indent && ! $indent_printed) {
57 print $indent;
58 $indent_printed=1;
59 }
60 print $1." ";
5fbd4551 61 }
5fbd4551
JH
62 }
63}
64print "\n" if $len;
This page took 0.01487 seconds and 4 git commands to generate.