X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=docs%2Fautodocifier.pl;h=c39260acbf3e2b5e43850bf870490f97b437b625;hb=277eb6bb444dd0f348079d7d37487f224c9abe39;hp=e1101d9d0e5632779427b8815b4a6b2655844ae4;hpb=55c704c119c871e25253d8dc3582f623d7d47708;p=oweals%2Fbusybox.git
diff --git a/docs/autodocifier.pl b/docs/autodocifier.pl
index e1101d9d0..c39260acb 100755
--- a/docs/autodocifier.pl
+++ b/docs/autodocifier.pl
@@ -21,8 +21,8 @@ sub continuation {
# regex && eval away unwanted strings from documentation
sub beautify {
my $text = shift;
- $text =~ s/USAGE_NOT\w+\(.*?"\s*\)//sxg;
- $text =~ s/USAGE_\w+\(\s*?(.*?)"\s*\)/$1"/sxg;
+ $text =~ s/SKIP_\w+\(.*?"\s*\)//sxg;
+ $text =~ s/USE_\w+\(\s*?(.*?)"\s*\)/$1"/sxg;
$text =~ s/"\s*"//sg;
my @line = split("\n", $text);
$text = join('',
@@ -51,10 +51,14 @@ sub pod_for_usage {
# make options bold
my $trivial = $usage->{trivial};
- $trivial =~ s/(?/sxg;
+ if (!defined $usage->{trivial}) {
+ $trivial = "";
+ } else {
+ $trivial =~ s/(?/sxg;
+ }
my @f0 =
map { $_ !~ /^\s/ && s/(?/g; $_ }
- split("\n", $usage->{full});
+ split("\n", (defined $usage->{full} ? $usage->{full} : ""));
# add "\n" prior to certain lines to make indented
# lines look right
@@ -83,28 +87,23 @@ sub pod_for_usage {
split("\n", $usage->{example})) . "\n\n"
: "";
+ # Pad the name so that the applet name gets a line
+ # by itself in BusyBox.txt
+ my $spaces = 10 - length($name);
+ if ($spaces > 0) {
+ $name .= " " x $spaces;
+ }
+
return
"=item B<$name>".
"\n\n$name $trivial\n\n".
"$full\n\n" .
"$notes" .
"$example" .
- "-------------------------------".
"\n\n"
;
}
-# FIXME | generate SGML for an applet
-sub sgml_for_usage {
- my $name = shift;
- my $usage = shift;
- return
- "\n".
- " $name\n".
- "\n"
- ;
-}
-
# the keys are applet names, and
# the values will contain hashrefs of the form:
#
@@ -124,7 +123,6 @@ my %opt;
GetOptions(
\%opt,
"help|h",
- "sgml|s",
"pod|p",
"verbose|v",
);
@@ -133,7 +131,6 @@ if (defined $opt{help}) {
print
"$0 [OPTION]... [FILE]...\n",
"\t--help\n",
- "\t--sgml\n",
"\t--pod\n",
"\t--verbose\n",
;
@@ -163,11 +160,22 @@ foreach (@ARGV) {
# generate structured documentation
my $generator = \&pod_for_usage;
-if (defined $opt{sgml}) {
- $generator = \&sgml_for_usage;
+
+my @names = sort keys %docs;
+my $line = "\t[, [[, ";
+for (my $i = 0; $i < $#names; $i++) {
+ if (length ($line.$names[$i]) >= 65) {
+ print "$line\n\t";
+ $line = "";
+ }
+ $line .= "$names[$i], ";
}
+print $line . $names[-1];
-foreach my $applet (sort keys %docs) {
+print "\n\n=head1 COMMAND DESCRIPTIONS\n";
+print "\n=over 4\n\n";
+
+foreach my $applet (@names) {
print $generator->($applet, $docs{$applet});
}
@@ -191,18 +199,18 @@ Example:
=head1 DESCRIPTION
-The purpose of this script is to automagically generate documentation
-for busybox using its usage.h as the original source for content.
-It used to be that same content has to be duplicated in 3 places in
-slightly different formats -- F, F, and
-F. This was tedious and error-prone, so it was
+The purpose of this script is to automagically generate
+documentation for busybox using its usage.h as the original source
+for content. It used to be that same content has to be duplicated
+in 3 places in slightly different formats -- F,
+F. This was tedious and error-prone, so it was
decided that F would contain all the text in a
machine-readable form, and scripts could be used to transform this
text into other forms if necessary.
-F is one such script.
-It was based on a script by Erik Andersen
-which was in turn based on a script by Mark Whitley
+F is one such script. It is based on a script by
+Erik Andersen which was in turn based on a
+script by Mark Whitley
=head1 OPTIONS
@@ -216,10 +224,6 @@ This displays the help message.
Generate POD (this is the default)
-=item B<--sgml>
-
-Generate SGML
-
=item B<--verbose>
Be verbose (not implemented)
@@ -292,4 +296,4 @@ John BEPPU
=cut
-# $Id: autodocifier.pl,v 1.25 2004/03/13 08:32:14 andersen Exp $
+# $Id: autodocifier.pl,v 1.26 2004/04/06 15:26:25 andersen Exp $