topics!
[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-*)],
6 ubuntu => [qw(Mark MOTU ubuntu debian rock rocks rule naked dapper
7 feisty fiesty gutsy hoary edgy universe launchpad gnome desktop
8 sabdfl)],
9);
10
5fbd4551 11if (! @ARGV) {
94ddd3c0
JH
12 @ARGV=@{$topics{git}};
13}
14elsif (@ARGV == 1 && exists $topics{$ARGV[0]}) {
15 @ARGV=@{$topics{$ARGV[0]}};
5fbd4551
JH
16}
17
94ddd3c0 18my $total_awesomeness_dude=join("|",
84cbfd03
JH
19 map {
20 $_=quotemeta($_);
21 s/\\\*/.*/g;
22 s/\\\?/./g;
23 $_;
24 } reverse sort @ARGV);
5fbd4551
JH
25
26my $len=0;
80e2e3ff
JH
27my $indent="";
28my $indent_printed=0;
5fbd4551 29while (<STDIN>) {
94ddd3c0 30 if (/$total_awesomeness_dude/) {
80e2e3ff
JH
31 if (/^([>|][>|\s]*)/) {
32 if ($indent ne $1) {
33 print "\n" if $len;
34 $len=0;
35 $indent=$1;
36 $indent_printed=0;
37 }
38 }
39 else {
40 if (length $indent && $indent_printed) {
41 print "\n";
42 $len=0;
43 }
44 $indent="";
45 $indent_printed=0;
46 }
47
94ddd3c0 48 while(/(($total_awesomeness_dude)[.?!]*)/ig) {
80e2e3ff
JH
49 $len+=length($1)+1;
50 if ($len > 70) {
51 print "\n";
52 $len=0;
53 }
54 if (length $indent && ! $indent_printed) {
55 print $indent;
56 $indent_printed=1;
57 }
58 print $1." ";
5fbd4551 59 }
5fbd4551
JH
60 }
61}
62print "\n" if $len;
This page took 0.011916 seconds and 4 git commands to generate.