#!/usr/bin/env bash## $Id$# Author: Markus Wenzel, TU Muenchen## Isabelle tool starter -- provides settings environment# and keeps your PATH name space clean.## settingsPRG="$(basename "$0")"ISABELLE_HOME="$(dirname "$0")/..". "$ISABELLE_HOME/lib/scripts/getsettings" || \ { echo "$PRG probably not called from its original place!"; exit 2; }## diagnosticsfunction usage(){ echo echo "Usage: $PRG TOOL [ARGS ...]" echo echo " Start Isabelle utility program TOOL with ARGS. Pass \"-?\" to TOOL" echo " for more specific help." echo echo " Available tools are:" ( ORIG_IFS="$IFS" IFS=":" for DIR in $ISABELLE_TOOLS do cd "$DIR" echo for T in * do if [ -f "$T" -a -x "$T" ]; then DESCRLINE=$(fgrep DESCRIPTION: "$T" | sed -e 's/^.*DESCRIPTION: *//') echo " $T - $DESCRLINE" fi done done IFS="$ORIG_IFS" ) echo exit 1}function fail(){ echo "$1" >&2 exit 2}## args[ "$#" -lt 1 -o "$1" = "-?" ] && usageTOOLNAME="$1"shift## mainORIG_IFS="$IFS"IFS=":"for DIR in $ISABELLE_TOOLSdo TOOL="$DIR/$TOOLNAME" [ -f "$TOOL" -a -x "$TOOL" ] && exec "$TOOL" "$@"doneIFS="$ORIG_IFS"fail "Unknown Isabelle tool: $TOOLNAME"