
Fix inconsistencies between programs and their usage messages, correct instances where information seems to be missing or lost. This includes missing arguments, making usage consistent with manuals, and so on.
84 lines
1.9 KiB
Bash
Executable file
84 lines
1.9 KiB
Bash
Executable file
#!/bin/rc
|
|
# doctype: synthesize proper command line for troff
|
|
|
|
if(~ $#* 0){
|
|
echo 'usage: doctype [ -n ] [ -T dev ] [ file ] ...' >[1=2]
|
|
exit usage
|
|
}
|
|
|
|
troff=troff
|
|
eqn=eqn
|
|
prefer=prefer
|
|
opt=''
|
|
dev=''
|
|
while(~ $1 -*){
|
|
switch($1){
|
|
case -n;
|
|
troff=nroff
|
|
eqn=neqn
|
|
prefer='prefer -n'
|
|
case -T
|
|
dev=-T$2
|
|
shift
|
|
case -*
|
|
opt=$opt' $1'
|
|
}
|
|
shift
|
|
}
|
|
ifs='
|
|
'{
|
|
files=`{echo $*}
|
|
}
|
|
grep -h '\$LIST|\|reference|Jp|^\.(EQ|TS|\[|TPS|PS|IS|GS|G1|GD|PP|BM|LP|BP|PI|cstart|begin|TH...)|^\.P$' $* |
|
|
sort -u |
|
|
awk '
|
|
BEGIN { files = "'$files'" }
|
|
/\$LIST/ { e++ }
|
|
/^\.PP/ { ms++ }
|
|
/^\.LP/ { ms++ }
|
|
/^\.EQ/ { eqn++ }
|
|
/^\.TS/ { tbl++ }
|
|
/^\.PS/ { pic++ }
|
|
/^\.TPS/ { tpic++; pic++ }
|
|
/^\.IS/ { ideal++ }
|
|
/^\.GS/ { tped++ }
|
|
/^\.G1/ { grap++; pic++ }
|
|
/^\.GD/ { dag++; pic++ }
|
|
/^\.\[/ { refer++ }
|
|
/\|reference/ { prefer++ }
|
|
/^\.cstart/ { chem++; pic++ }
|
|
/^\.begin +dformat/ { dformat++; pic++ }
|
|
/^\.TH.../ { man++ }
|
|
/^\.BM/ { lbits++ }
|
|
/^\.P$/ { mm++ }
|
|
/^\.BP/ { pictures++ }
|
|
/^\.PI/ { pictures++ }
|
|
/^\.ft *Jp|\\f\(Jp/ { nihongo++ }
|
|
END {
|
|
x = ""
|
|
if (refer) {
|
|
if (e) x = "refer/refer -e " files " | "
|
|
else x = "refer/refer " files "| "
|
|
files = ""
|
|
}
|
|
else if (prefer) { x = "cat " files "| '$prefer'| "; files = "" }
|
|
if (tpic) { x = x "timepic " files " | "; files = "" }
|
|
if (tped) { x = x "tped " files " | "; files = "" }
|
|
if (dag) { x = x "dag " files " | "; files = "" }
|
|
if (ideal) { x = x "ideal -q " files " | "; files = "" }
|
|
if (grap) { x = x "grap " files " | "; files = "" }
|
|
if (chem) { x = x "chem " files " | "; files = "" }
|
|
if (dformat) { x = x "dformat " files " | "; files = "" }
|
|
if (pic) { x = x "pic " files " | "; files = "" }
|
|
if (tbl) { x = x "tbl " files " | "; files = "" }
|
|
if (eqn) { x = x "'$eqn' '$dev' " files " | "; files = "" }
|
|
x = x "'$troff' "
|
|
if (man) x = x "-man"
|
|
else if (ms) x = x "-ms"
|
|
else if (mm) x = x "-mm"
|
|
if (lbits) x = x " -mbits"
|
|
if (pictures) x = x " -mpictures"
|
|
if (nihongo) x = x " -mnihongo"
|
|
x = x " '$opt' '$dev' " files
|
|
print x
|
|
}'
|