Here is a Perl version of doc/tools/help2doc. The shell version takes 1 min 33 s but this takes only 0.30 s. It generates an identical option-command.txt but fixes several bugs in option-config.txt, as you can see from the included diff. document.dump.separator is still not entirely right though.
OK to apply? If not, please fix the shell version.
======================================================================
#! /usr/bin/perl
use strict;
use warnings;
my ($elinks, $option) = @ARGV;
if ($option =~ /command/) {
open my $pipe, "-|", $elinks, "--long-help" or die;
my $version = <$pipe>;
chomp $version;
$version =~ s/^ELinks ([-.\w]+).*$/$1/ or die "unusual version: $version";
my $blank = 1;
while (<$pipe>) {
if (/^ {4}(-.*?) *$/) {
$_ = $1;
s/ {2,}/ /g;
print "${_}::\n";
} elsif (/^ {12}\t(-eval .*)$/) {
print "\n\t$1\n";
} elsif (/^ {12}\t(\w+\(.*\)) +: (.*)$/) {
print "\t- `$1`: $2\n";
} elsif (/^ {12}\t(\d+) (means .+)$/) {
print "\t- $1:\t$2\n";
} elsif (s/^ {12}//) {
s/'([^']+)'/\\'$1\\'/g;
s((~/\.elinks|-dump|-default-mime-type|text/html|-touch-files|-no-connect|-session-ring))(`$1`)g;
s/(ELinks|HOME)/'$1'/g;
print "\t$_";
} else {
print "\n" unless $blank;
$blank = 2;
}
$blank = ($blank == 2);
}
print "Generated using output from ELinks version $version.\n";
} elsif ($option =~ /config/) {
open my $pipe, "-|", $elinks, "--config-help" or die;
my $version = <$pipe>;
chomp $version;
$version =~ s/^ELinks ([-.\w]+).*$/$1/ or die "unusual version: $version";
my $blank = 1;
while (<$pipe>) {
if (/^ {2}[^ ].*: \(([-.\w]+)\)$/) {
print "$1::\n";
} elsif (/^ {4}([^ ].*?)$/) {
print "$1::\n";
} elsif (s/^ {12,}//) {
# escape things that might look like AsciiDoc markup
s/'(.*?)'/\\'$1\\'/g;
s/\{(.*?)\}/\\{$1\\}/g;
# add the actual AsciiDoc markup
s/(ELinks|WWW_HOME)/'$1'/g;
s((~/\.elinks))(`$1`)g;
if (/^(-?\d[-+\d]*?) +(.*)$/) {
print "\t- $1:\t$2\n";
} else {
print "\t$_";
}
} else {
print "\n" unless $blank;
$blank = 2;
}
$blank = ($blank == 2);
}
print "Generated using output from ELinks version $version.\n";
} else {
die "you rang?";
}
======================================================================
--- option-config-old.txt 2008-03-08 01:28:40.000000000 +0200
+++ option-config-new.txt 2008-03-08 01:29:05.000000000 +0200
@@ -124,7 +124,7 @@
- -1: is use cookie's expiration date if any
- 0: is force expiration at the end of session, ignoring cookie's
expiration date
- - 1: + is use cookie's expiration date, but limit age to the given
+ - 1+: is use cookie's expiration date, but limit age to the given
number of days
cookies.paranoid_security [0|1] (default: 0)::
@@ -360,10 +360,11 @@
Start typeahead searching when an unbound key is pressed without
any modifiers. Note that most keys have default bindings, so this
feature will not be useful unless you unbind them.
-
-when you (when you press a key bound to search-typeahead or similar)::
- 1 automatically starts typeahead searching thru link text
- 2 automatically starts typeahead searching thru all document text
+
+ - 0: disables this feature; typeahead searching will only be used
+ when you press a key bound to search-typeahead or similar
+ - 1: automatically starts typeahead searching thru link text
+ - 2: automatically starts typeahead searching thru all document text
document.browse.margin_width <num> (default: 3)::
Horizontal text margin.
@@ -441,6 +442,8 @@
since the document was initially loaded or most recently
revalidated with the server, the server will be checked in case
there is a more up-to-date version of the document.
+
+ A value of -1 disables automatic revalidation.
document.codepage::
Charset options.
@@ -514,8 +517,8 @@
document.css.media <str> (default: "tty")::
CSS media types that 'ELinks' claims to support, separated with
- commas. The "all" type is implied. Currently, only ASCII
- characters work reliably here. See CSS2 section 7:
+ commas. The "all" type is implied. Currently, only ASCII
+ characters work reliably here. See CSS2 section 7:
http://www.w3.org/TR/1998/REC-CSS2-19980512/media.html
document.css.stylesheet <str> (default: "")::
@@ -578,7 +581,9 @@
Whether to print references (URIs) of document links
in dump output.
-document.dump.separator <str> (document.dump.separator <str> (default: ")::
+document.dump.separator <str> (default: "::
+
+ String which separates two dumps.
document.dump.width <num> (default: 80)::
Width of screen in characters when dumping documents.
@@ -926,7 +931,7 @@
hidden in local directory listings.
protocol.file.try_encoding_extensions [0|1] (default: 1)::
- When set, if we can\'t open a file named \'filename', we'll try
+ When set, if we can\'t open a file named \'filename\', we\'ll try
to open \'filename\' with some encoding extension appended
(ie. \'filename.gz\'); it depends on the supported encodings.
@@ -1028,11 +1033,13 @@
If enabled, the capability to receive compressed content (gzip and/or
bzip2) is announced to the server, which usually sends the reply
compressed, thus saving some bandwidth at slight CPU expense.
-
-option. If (option. If that helps, there may be a bug in the decompression
part)::
+
+ If 'ELinks' displays a incomplete page or garbage, try disabling this
+ option. If that helps, there may be a bug in the decompression part
of 'ELinks'. Please report such bugs.
-
-has no (has no effect. To check the supported features, see Help -> About.)::
+
+ If 'ELinks' has been compiled without compression support, this option
+ has no effect. To check the supported features, see Help -> About.
protocol.http.trace [0|1] (default: 0)::
If active, all HTTP requests are sent with TRACE as their method
@@ -1073,7 +1080,7 @@
protocol.nntp.header_entries <str> (default:
"Subject,From,Date,Message-ID,Newsgroups")::
Comma separated list of which entries in the article header
- to show. E.g. \'Subject\' and 'From'.
+ to show. E.g. \'Subject\' and \'From\'.
All header entries can be read in the header info dialog.
protocol.rewrite::
@@ -1105,7 +1112,7 @@
protocol.rewrite.default_template <str> (default: "")::
Default URI template used when the string entered in
the goto dialog does not appear to be a URI or a filename
- (i.e. contains no \'.\', ':' or '/' characters), and does
+ (i.e. contains no \'.\', \':\' or \'/\' characters), and does
not match any defined prefixes. Set the value to "" to
disable use of the default template rewrite rule.
%c in the template means the current URL,
@@ -1123,7 +1130,7 @@
Enable smart prefixes - URI templates triggered by writing
given abbreviation to the Goto URL dialog followed by a list
of arguments from which the actual URI is composed - i.e.
- \'gg:search keywords\' or 'gn search keywords for news'.
+ \'gg:search keywords\' or \'gn search keywords for news\'.
protocol.user::
User protocols. Options in this tree specify external
@@ -1996,7 +2003,7 @@
ui.sessions.homepage <str> (default: "")::
The URI to load either at startup time when no URI was given
on the command line or when requested by the goto-url-home action.
- Set to "" if the environment variable WWW_'HOME' should be used
+ Set to "" if the environment variable 'WWW_HOME' should be used
as homepage URI instead.
ui.sessions.keep_session_active [0|1] (default: 0)::
@@ -2006,6 +2013,8 @@
Automatically save a snapshot of all tabs periodically.
This will periodically bookmark the tabs of each terminal in a separate
folder
for recovery after a crash.
+
+ This feature requires bookmark support.
ui.tabs::
Window tabs settings.
pgpSZ1L4nshrx.pgp
Description: PGP signature
_______________________________________________ elinks-dev mailing list [email protected] http://linuxfromscratch.org/mailman/listinfo/elinks-dev
