diff options
Diffstat (limited to 'miralib/menudriver.csh')
-rwxr-xr-x | miralib/menudriver.csh | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/miralib/menudriver.csh b/miralib/menudriver.csh deleted file mode 100755 index 2aa89e7..0000000 --- a/miralib/menudriver.csh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/csh -f -# menu driver - Copyright Research Software Ltd 1985, 2006 -# this version modified to ignore execute permissions of files - -# see below for explanation of these variables, which we -# set to defaults if not present in the user's environment - -if(! $?MENUVIEWER) set MENUVIEWER = cat #ALTERNATIVE: more -if(! $?VIEWER) then -# choose one of these by removing the '#' in column one - set VIEWER = 'less -EX' RETURNTOMENU = NO -# set VIEWER = less RETURNTOMENU = YES -# set VIEWER = 'more -d' RETURNTOMENU = NO -endif - -set sansnl n invalid last oldlasts noglob -set histchars = '@^' #neutralize '!' - -if("`echo -n`" == '') then #use flag -n to suppress newline, if working -set sansnl = '-n' -endif - -if("$1" != '') cd "$1" -set top = "`pwd`" -while( -f contents ) - if("$n" == '') then - clear - if("$invalid" != '') echo invalid option "$invalid" - set invalid = '' - $MENUVIEWER contents; - echo $sansnl ::please type selection number \(or q to quit\): - set line = "$<" - set n = `expr " $line" : ' *\([^ ]*\)'` - endif - if("$n" == '.' && "$last" != '') then - set n = $last; - else if("$n" == '+' && "$last" != '' && "$last" != '.') then - set n = `expr $last + 1` - else if("$n" == '-' && "$last" != '' && "$last" != '.') then - set n = `expr $last - 1` - endif - if("$n" != '') then - if(-d "$n") then - if(-f "$n/contents") then - cd "$n"; set oldlasts = "$n,$oldlasts" last = "." - else set invalid = "$n" - endif - set n = '' - else if(-f "$n") then - if("$n" == '99') then #special case, 99 is an executable - clear; "./$n" - else clear; - $VIEWER "$n" - if("$RETURNTOMENU" == 'YES') then - set last = $n n = '' - continue #next iteration of while-loop - endif - endif - echo $sansnl ::next selection \(return to go back to menu, q to quit\): - set last = $n line = "$<" - set n = `expr " $line" : ' *\([^ ]*\)'` - else if("$n" == 'q' || "$n" == '/q') then - exit - else if("$n" == '???') then # ??? interrogates display settings - echo " MENUVIEWER='$MENUVIEWER'" - echo " VIEWER='$VIEWER', RETURNTOMENU='$RETURNTOMENU'" - echo these can be changed by setting environment variables \ -of the same names - set n = '' - echo $sansnl '[Hit return to continue]' - set lose = "$<" - else if( "$n" =~ !* ) then - set line = `expr "$line" : ' *\(.*\)'` - set line = `expr "$line" : '\(.*[^ ]\) *'` - if( ".$line" == '.!!' || ".$line" == '.!' ) then - if(! $?lastbang) then - set invalid = "$n" n = ''; continue - else echo !"$lastbang" - endif - else set lastbang = `expr "$line" : '!\(.*\)'` - endif - $lastbang - echo $sansnl '[Hit return to continue]' - set n = '' - set lose = "$<" - else set invalid = "$n" n = '' - endif - else if("$oldlasts" == '') exit #we are at the root of the tree - cd .. - set last = `expr $oldlasts : '\([^,]*\)'` - set oldlasts = `expr $oldlasts : '[^,]*,\(.*\)'` - endif -end #of while-loop -exit -# Explanation of variables -# -# MENUVIEWER is the program used to display contents pages -# -# VIEWER is the program used to display individual sections -# -# RETURNTOMENU=YES prevents another prompt being given after displaying -# each section, causing instead an immediate return to contents page. It -# should be `YES' if VIEWER is a program that pauses for input at end of -# file, `NO' if VIEWER is a program that quits silently at end of file. |