Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!cornell!batcomputer!davidra From: davidra@batcomputer.tn.cornell.edu (Penguin ) Newsgroups: net.sources Subject: another vms-style help program Message-ID: <1697@batcomputer.tn.cornell.edu> Date: Wed, 3-Dec-86 15:31:41 EST Article-I.D.: batcompu.1697 Posted: Wed Dec 3 15:31:41 1986 Date-Received: Thu, 4-Dec-86 04:47:01 EST Organization: Theory Center, Cornell U., Ithaca NY Lines: 72 There are several really very good vms-style help programs for UNIX, but what follows (a csh-script) must be about the simplest. ----------------------------CUT HERE------------------------------------------- #!/bin/csh echo Help shell script echo " " #constants set HELPDIR=~davidra/gnuplot/help #initialize levels set dir={$HELPDIR} cd {$dir} set levels=("" "" "" "" "" "" "" "" "" "") set level=0 set new=2 #next topic is new #initial stuff cat .caveat echo -n Type \ to continue set request=($<) loop: #reset dir variable set dir={$HELPDIR} set i=1 while ( $i <= $level ) set dir={$dir}/{$levels[$i]} @ i++ end echo " " if ( -e .HLP && $new > 1 ) then clear more .HLP echo " " endif if ( $new > 0 ) then echo "Topics: " ls -C *.HLP | sed s/\.HLP//g #list HLP files echo " " echo "Subtopics: " ls -dC `ls | fgrep -v .HLP` echo " " endif echo -n Topic or subtopic or .. or quit or \:\ set new=0 #no longer new set request=($<) if ( {$request} == {} ) then set new=1 #give list again else if ( {$request} == quit ) then exit 0 else if ( {$request} == .. ) then #go back set new=2 #"new" topic if ( $level == 0 ) goto loop #can't go back any further @ level-- #go back one cd .. else if ( -d {$request} ) then set new=2 #really new topic cd {$request} @ level++ set levels[$level]={$request} else if ( -e {$request}.HLP ) then more {$request}.HLP else echo "not found" set new=1 #give list again endif goto loop