docs: Commands should be on a separate line
[guilt.git] / Documentation / cmd-list.perl
blob3ef7a0de26aca594b66cfed176068638d46013ac
3 sub format_one {
4 my ($out, $name) = @_;
5 my ($state, $description);
6 open I, '<', "$name.txt" or die "No such file $name.txt";
7 while (<I>) {
8 if (/^NAME$/) {
9 $state = 1;
10 next;
12 if ($state == 1 && /^----$/) {
13 $state = 2;
14 next;
16 next if ($state != 2);
17 chomp;
18 $description = $_;
19 last;
21 close I;
22 if (!defined $description) {
23 die "No description found in $name.txt";
25 if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) {
26 print $out "guiltlink:$name\[1\]::\n";
27 print $out "\t$text.\n\n";
29 else {
30 die "Description does not match $name: $description";
34 my %cmds = ();
35 while (<DATA>) {
36 next if /^#/;
38 chomp;
39 my ($name, $cat) = /^(\S+)\s+(.*)$/;
40 push @{$cmds{$cat}}, $name;
43 my $out = "cmds.txt";
44 @manpages = <guilt-*.txt>;
45 open O, '>', "$out+" or die "Cannot open output file $out+";
46 foreach $name (@manpages) {
47 $name =~ m/(\S+).txt/;
48 format_one(\*O, $1);
50 close O;
51 rename "$out+", "$out";