Add w3mman -l <file> command line argument for viewing of local man files.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
.TH W3MMAN 1 "Mar 14, 2002"
|
||||
.TH W3MMAN 1 "Nov 5, 2005"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@@ -19,6 +19,9 @@ w3mman \- an interface to the on-line reference manuals by w3m(1)
|
||||
.br
|
||||
.B w3mman
|
||||
.RI "[-M " path "] -k " keyword
|
||||
.br
|
||||
.B w3mman
|
||||
.RI -l " file
|
||||
.SH DESCRIPTION
|
||||
.B w3mman
|
||||
is the system's manual pager by
|
||||
@@ -31,9 +34,13 @@ Specify
|
||||
.I path
|
||||
as MANPATH.
|
||||
.TP
|
||||
.B \-k " keyword"
|
||||
.BI \-k " keyword"
|
||||
Specify
|
||||
.I keyword.
|
||||
.TP
|
||||
.BI \-l " file"
|
||||
Specify a
|
||||
.I file.
|
||||
.SH ENVIRONMENT
|
||||
.TP
|
||||
.B W3MMAN_W3M
|
||||
|
@@ -8,6 +8,7 @@ sub usage {
|
||||
($_ = $0) =~ s@.*/@@;
|
||||
print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
|
||||
print STDERR "$_ [-M <path>] [-k <keyword>]\n";
|
||||
print STDERR "$_ [-l <file>]\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
@@ -20,6 +21,10 @@ while (@ARGV) {
|
||||
} elsif (/^-k$/) {
|
||||
@ARGV || &usage();
|
||||
$query = "?keyword=" . &form_encode(shift @ARGV);
|
||||
} elsif (/^-l$/) {
|
||||
@ARGV || &usage();
|
||||
$query = "?quit=ok&local=" . &form_encode(shift @ARGV);
|
||||
$query .= "&pwd=" . &form_encode($ENV{'PWD'});
|
||||
} elsif (/^-/) {
|
||||
&usage();
|
||||
} elsif (/^\d/ || $_ eq 'n') {
|
||||
|
@@ -19,7 +19,7 @@ if ($QUERY =~ /\=/) {
|
||||
$query{"man"} = &form_decode($QUERY);
|
||||
}
|
||||
|
||||
if (! $query{"man"}) {
|
||||
if ((! $query{"man"}) && (! $query{"local"})) {
|
||||
if ($query{"keyword"}) {
|
||||
$keyword = $query{"keyword"};
|
||||
$k = &html_quote($keyword);
|
||||
@@ -71,21 +71,29 @@ EOF
|
||||
exit;
|
||||
}
|
||||
|
||||
$man = $query{"man"};
|
||||
if ($man =~ s/\((\w+)\)$//) {
|
||||
$section = $1;
|
||||
$man_section = "$man($1)";
|
||||
} elsif ($query{"section"}) {
|
||||
$section = $query{"section"};
|
||||
$man_section = "$man($section)";
|
||||
if ($query{"local"}) {
|
||||
$file = $query{"local"};
|
||||
if (! ($file =~ /^\//)) {
|
||||
$file = $query{"pwd"} . '/' . $file;
|
||||
}
|
||||
open(F, "$MAN -l $file 2> /dev/null |");
|
||||
} else {
|
||||
$section = "";
|
||||
$man_section = "$man";
|
||||
}
|
||||
$man = $query{"man"};
|
||||
if ($man =~ s/\((\w+)\)$//) {
|
||||
$section = $1;
|
||||
$man_section = "$man($1)";
|
||||
} elsif ($query{"section"}) {
|
||||
$section = $query{"section"};
|
||||
$man_section = "$man($section)";
|
||||
} else {
|
||||
$section = "";
|
||||
$man_section = "$man";
|
||||
}
|
||||
|
||||
$section =~ s:([^-\w\200-\377.,])::g;
|
||||
$man =~ s:([^-\w\200-\377.,])::g;
|
||||
open(F, "$MAN $section $man 2> /dev/null |");
|
||||
$section =~ s:([^-\w\200-\377.,])::g;
|
||||
$man =~ s:([^-\w\200-\377.,])::g;
|
||||
open(F, "$MAN $section $man 2> /dev/null |");
|
||||
}
|
||||
$ok = 0;
|
||||
undef $header;
|
||||
$blank = -1;
|
||||
@@ -176,6 +184,11 @@ if ($prev) {
|
||||
close(F);
|
||||
if (! $ok) {
|
||||
if ($query{'quit'}) {
|
||||
if ($query{'local'}) {
|
||||
print STDERR "File $file not found.\n";
|
||||
} else {
|
||||
print STDERR "No manual entry for $man_section.\n";
|
||||
}
|
||||
print STDERR "No manual entry for $man_section.\n";
|
||||
print <<EOF;
|
||||
w3m-control: EXIT
|
||||
@@ -190,7 +203,11 @@ Content-Type: text/html
|
||||
<body>
|
||||
<pre>
|
||||
EOF
|
||||
print "No manual entry for <B>$man_section</B>.\n";
|
||||
if ($query{'local'}) {
|
||||
print "File <B>$file</B> not found.\n";
|
||||
} else {
|
||||
print "No manual entry for <B>$man_section</B>.\n";
|
||||
}
|
||||
}
|
||||
print <<EOF;
|
||||
</pre>
|
||||
|
Reference in New Issue
Block a user