" This file tries to implement an "info:" protocol, for viewing info pages
" inside elvis. It doesn't quite succeed, but it comes close.
"
" This assumes your info pages are stored in /usr/share/info. If they're
" stored someplace else, then you'll need to edit the "local d=..." line below.
alias readINFO {
local d=/usr/share/info
local report=0
local magic magicchar=^$.[* noignorecase
local m
let m=display
display normal
if "!(/)2" == "/"
then {
eval r !!cd (d); ls *.info.gz
try {
%s/\(.*\)\.info\.gz/\1<\/a>/
se bufdisplay=html noinitialsyntax
}
se nomod
}
else {
eval r !!gzip -d -c (d)/!2.info.gz (d)/!2.info-*.gz
try {
1,/^File: .* Node: !(Top)3,/-1 d
try %s/&/\&/g
try %s/\</g
try %s/>/\>/g
%s/^$/
/
%s/^\(File: .* Node: \)\([^:,]*\)/+2s,.*,\&<\/a>,/x
g/^File: /s/\(Prev\|Next\|Up\): \([^:,]*\)/\1: \2<\/a>/g
try %s///g
%s/^\* \(.*\)::/* \1<\/a>::/
1i
$a
se bufdisplay=html noinitialsyntax
}
se nomod
}
eval display (m)
}
alias info sp info:!1