tg.sh: do not assume a pre-existing pre-commit hook uses #!/bin/sh
[topgit/pro.git] / create-html-usage.pl
bloba7f861db5bc3d362751941a79672f77eb52d3078
1 #!/usr/bin/env perl
3 use strict;
4 use warnings;
6 use File::Basename;
8 my $mydir = dirname($0);
9 my $last = undef;
11 sub get_tg_usage($)
13 my $name = shift;
14 if ( -x "$mydir/tg-$name" ) {
15 my $usage = `"$mydir/tg-$name" -h 2>&1`;
16 chomp $usage;
17 $usage =~ s/^(Usage|\s+Or):\s*//mig;
18 return split "\n", $usage;
19 } elsif ($name eq "help") {
20 return "tg help [-w] [<command>]";
22 return undef;
25 while (my $line = <>) {
26 if (defined($last)) {
27 print $last;
28 if ($line =~ /^[~]+$/ && $last =~ /^tg ([^\s]+)$/) {
29 my @usage = get_tg_usage($1);
30 if (@usage) {
31 print $line;
32 print map({"\t| ".'``'.$_.'``'."\n"} @usage);
33 $line = "\n";
37 $last = $line;
40 print $last if defined($last);
41 exit 0;