support globbing to match things like git-*
[filters.git] / fanboy
1 #!/usr/bin/perl
2
3 if (! @ARGV) {
4 @ARGV=qw(linus git linux rebase rebased merge merged cherry-pick
5 branch branched branches git-*);
6 }
7
8 my $coolstuff=join("|",
9 map {
10 $_=quotemeta($_);
11 s/\\\*/.*/g;
12 s/\\\?/./g;
13 $_;
14 } reverse sort @ARGV);
15
16 my $len=0;
17 my $indent="";
18 my $indent_printed=0;
19 while (<STDIN>) {
20 if (/$coolstuff/) {
21 if (/^([>|][>|\s]*)/) {
22 if ($indent ne $1) {
23 print "\n" if $len;
24 $len=0;
25 $indent=$1;
26 $indent_printed=0;
27 }
28 }
29 else {
30 if (length $indent && $indent_printed) {
31 print "\n";
32 $len=0;
33 }
34 $indent="";
35 $indent_printed=0;
36 }
37
38 while(/(($coolstuff)[.?!]*)/ig) {
39 $len+=length($1)+1;
40 if ($len > 70) {
41 print "\n";
42 $len=0;
43 }
44 if (length $indent && ! $indent_printed) {
45 print $indent;
46 $indent_printed=1;
47 }
48 print $1." ";
49 }
50 }
51 }
52 print "\n" if $len;
This page took 0.024769 seconds and 5 git commands to generate.