summaryrefslogtreecommitdiff
path: root/miralib/menudriver.csh
diff options
context:
space:
mode:
Diffstat (limited to 'miralib/menudriver.csh')
-rwxr-xr-xmiralib/menudriver.csh104
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.