]> iEval git - filters.git/blame_incremental - fanboy
only fair..
[filters.git] / fanboy
... / ...
CommitLineData
1#!/usr/bin/perl
2
3my %topics=(
4 git => [qw(linus git linux rebase rebased merge merged cherry-pick
5 branch branched branches git-*)],
6 ubuntu => [qw(Mark MOTU ubuntu debian rock rocks rule dapper
7 feisty fiesty gutsy hoary edgy universe launchpad gnome desktop
8 naked sabdfl)],
9 debian => [qw(Debian rules rule ian murdock upstream release
10 stable unstable testing apt apt-get deb)],
11);
12
13if (! @ARGV) {
14 @ARGV=@{$topics{git}};
15}
16elsif (@ARGV == 1 && exists $topics{lc $ARGV[0]}) {
17 @ARGV=@{$topics{lc $ARGV[0]}};
18}
19
20my $total_awesomeness_dude=join("|",
21 map {
22 $_=quotemeta($_);
23 s/\\\*/.*/g;
24 s/\\\?/./g;
25 $_;
26 } reverse sort @ARGV);
27
28my $len=0;
29my $indent="";
30my $indent_printed=0;
31while (<STDIN>) {
32 if (/$total_awesomeness_dude/) {
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
50 while(/(($total_awesomeness_dude)[.?!]*)/ig) {
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." ";
61 }
62 }
63}
64print "\n" if $len;
This page took 0.017832 seconds and 4 git commands to generate.