Isabelle/jEdit interface wrapper.
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/src/Tools/jEdit/dist-template/interface Tue Oct 21 21:48:16 2008 +0200
1.3 @@ -0,0 +1,96 @@
1.4 +#!/usr/bin/env bash
1.5 +#
1.6 +# Isabelle/jEdit interface wrapper
1.7 +
1.8 +set -x
1.9 +
1.10 +## diagnostics
1.11 +
1.12 +usage()
1.13 +{
1.14 + echo
1.15 + echo "Usage: isabelle jedit [OPTIONS] [FILES ...]"
1.16 + echo
1.17 + echo " Options are:"
1.18 + echo " -J OPTION add JVM runtime option"
1.19 + echo " (default JEDIT_JAVE_OPTIONS=$JEDIT_JAVE_OPTIONS)"
1.20 + echo " -j OPTION add jEdit runtime option"
1.21 + echo " (default JEDIT_OPTIONS=$JEDIT_OPTIONS)"
1.22 + echo " -l NAME logic image name (default ISABELLE_LOGIC=$ISABELLE_LOGIC)"
1.23 + echo " -m MODE add print mode for output"
1.24 + echo
1.25 + echo "Starts jEdit with Isabelle plugin setup and opens theory FILES"
1.26 + echo "(default Scratch.thy)."
1.27 + echo
1.28 + exit 1
1.29 +}
1.30 +
1.31 +fail()
1.32 +{
1.33 + echo "$1" >&2
1.34 + exit 2
1.35 +}
1.36 +
1.37 +
1.38 +## process command line
1.39 +
1.40 +# options
1.41 +
1.42 +JEDIT_LOGIC="$ISABELLE_LOGIC"
1.43 +JEDIT_PRINT_MODE=""
1.44 +
1.45 +while getopts "J:j:l:m:" OPT
1.46 +do
1.47 + case "$OPT" in
1.48 + J)
1.49 + JEDIT_JAVA_OPTIONS="$JEDIT_JAVA_OPTIONS $OPTARG"
1.50 + ;;
1.51 + j)
1.52 + JEDIT_OPTIONS="$JEDIT_OPTIONS $OPTARG"
1.53 + ;;
1.54 + l)
1.55 + JEDIT_LOGIC="$OPTARG"
1.56 + ;;
1.57 + m)
1.58 + if [ -z "$PRINT_MODE" ]; then
1.59 + PRINT_MODE="$OPTARG"
1.60 + else
1.61 + PRINT_MODE="$PRINT_MODE,$OPTARG"
1.62 + fi
1.63 + ;;
1.64 + \?)
1.65 + usage
1.66 + ;;
1.67 + esac
1.68 +done
1.69 +
1.70 +shift $(($OPTIND - 1))
1.71 +
1.72 +
1.73 +# args
1.74 +
1.75 +if [ "$#" -eq 0 ]; then
1.76 + FILES="isabelle:Scratch.thy"
1.77 +else
1.78 + FILES=""
1.79 + while [ "$#" -gt 0 ]; do
1.80 + FILES="$FILES 'isabelle:$1'"
1.81 + shift
1.82 + done
1.83 +fi
1.84 +
1.85 +
1.86 +## main
1.87 +
1.88 +case "$JEDIT_LOGIC" in
1.89 + /*)
1.90 + ;;
1.91 + */*)
1.92 + JEDIT_LOGIC="$(pwd -P)/$JEDIT_LOGIC"
1.93 + ;;
1.94 +esac
1.95 +
1.96 +export JEDIT_LOGIC JEDIT_PRINT_MODE
1.97 +
1.98 +exec "$ISABELLE_TOOL" java "$JEDIT_JAVA_OPTIONS" \
1.99 + -jar "$JEDIT_HOME/jedit.jar" "$JEDIT_OPTIONS" "$FILES"