96 echo "Usage: isabelle $PRG [OPTIONS] [FILES ...]" |
96 echo "Usage: isabelle $PRG [OPTIONS] [FILES ...]" |
97 echo |
97 echo |
98 echo " Options are:" |
98 echo " Options are:" |
99 echo " -D NAME=X set JVM system property" |
99 echo " -D NAME=X set JVM system property" |
100 echo " -J OPTION add JVM runtime option (default $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)" |
100 echo " -J OPTION add JVM runtime option (default $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)" |
|
101 echo " -P CMD JVM process command prefix (process policy)" |
101 echo " -b build only" |
102 echo " -b build only" |
102 echo " -d DIR include session directory" |
103 echo " -d DIR include session directory" |
103 echo " -f fresh build" |
104 echo " -f fresh build" |
104 echo " -j OPTION add jEdit runtime option" |
105 echo " -j OPTION add jEdit runtime option" |
105 echo " (default JEDIT_OPTIONS=$JEDIT_OPTIONS)" |
106 echo " (default JEDIT_OPTIONS=$JEDIT_OPTIONS)" |
106 echo " -l NAME logic session name" |
107 echo " -l NAME logic session name" |
107 echo " -m MODE add print mode for output" |
108 echo " -m MODE add print mode for output" |
108 echo " -n no build of session image on startup" |
109 echo " -n no build of session image on startup" |
|
110 echo " -p CMD ML process command prefix (process policy)" |
109 echo " -s system build mode for session image" |
111 echo " -s system build mode for session image" |
110 echo |
112 echo |
111 echo " Start jEdit with Isabelle plugin setup and open FILES" |
113 echo " Start jEdit with Isabelle plugin setup and open FILES" |
112 echo " (default \"$USER_HOME/Scratch.thy\" or \":\" for empty buffer)." |
114 echo " (default \"$USER_HOME/Scratch.thy\" or \":\" for empty buffer)." |
113 echo |
115 echo |
130 |
132 |
131 # options |
133 # options |
132 |
134 |
133 BUILD_ONLY=false |
135 BUILD_ONLY=false |
134 BUILD_JARS="jars" |
136 BUILD_JARS="jars" |
|
137 JAVA_PROCESS_POLICY="" |
|
138 ML_PROCESS_POLICY="" |
135 JEDIT_SESSION_DIRS="" |
139 JEDIT_SESSION_DIRS="" |
136 JEDIT_LOGIC="" |
140 JEDIT_LOGIC="" |
137 JEDIT_PRINT_MODE="" |
141 JEDIT_PRINT_MODE="" |
138 JEDIT_BUILD_MODE="normal" |
142 JEDIT_BUILD_MODE="normal" |
139 |
143 |
140 function getoptions() |
144 function getoptions() |
141 { |
145 { |
142 OPTIND=1 |
146 OPTIND=1 |
143 while getopts "D:J:bd:fj:l:m:ns" OPT |
147 while getopts "D:J:P:bd:fj:l:m:np:s" OPT |
144 do |
148 do |
145 case "$OPT" in |
149 case "$OPT" in |
146 D) |
150 D) |
147 JAVA_ARGS["${#JAVA_ARGS[@]}"]="-D$OPTARG" |
151 JAVA_ARGS["${#JAVA_ARGS[@]}"]="-D$OPTARG" |
148 ;; |
152 ;; |
149 J) |
153 J) |
150 JAVA_ARGS["${#JAVA_ARGS[@]}"]="$OPTARG" |
154 JAVA_ARGS["${#JAVA_ARGS[@]}"]="$OPTARG" |
|
155 ;; |
|
156 P) |
|
157 JAVA_PROCESS_POLICY="$OPTARG" |
151 ;; |
158 ;; |
152 b) |
159 b) |
153 BUILD_ONLY=true |
160 BUILD_ONLY=true |
154 ;; |
161 ;; |
155 d) |
162 d) |
359 ## main |
369 ## main |
360 |
370 |
361 if [ "$BUILD_ONLY" = false ] |
371 if [ "$BUILD_ONLY" = false ] |
362 then |
372 then |
363 export JEDIT_SESSION_DIRS JEDIT_LOGIC JEDIT_PRINT_MODE JEDIT_BUILD_MODE |
373 export JEDIT_SESSION_DIRS JEDIT_LOGIC JEDIT_PRINT_MODE JEDIT_BUILD_MODE |
|
374 export JEDIT_ML_PROCESS_POLICY="$ML_PROCESS_POLICY" |
364 classpath "$JEDIT_HOME/dist/jedit.jar" |
375 classpath "$JEDIT_HOME/dist/jedit.jar" |
365 exec isabelle java "${JAVA_ARGS[@]}" isabelle.Main "${ARGS[@]}" |
376 exec $JAVA_PROCESS_POLICY isabelle java "${JAVA_ARGS[@]}" isabelle.Main "${ARGS[@]}" |
366 fi |
377 fi |