src/Pure/PIDE/protocol.ML
changeset 52786 9795ea654905
parent 52775 e0169f13bd37
child 52808 143f225e50f5
--- a/src/Pure/PIDE/protocol.ML	Tue Jul 30 11:44:06 2013 +0200
+++ b/src/Pure/PIDE/protocol.ML	Tue Jul 30 11:54:57 2013 +0200
@@ -8,7 +8,19 @@
 struct
 
 val _ =
-  Isabelle_Process.protocol_command "echo" (fn args => List.app writeln args);
+  Isabelle_Process.protocol_command "Isabelle_Process.echo"
+    (fn args => List.app writeln args);
+
+val _ =
+  Isabelle_Process.protocol_command "Isabelle_Process.options"
+    (fn [options_yxml] =>
+      let val options = Options.decode (YXML.parse_body options_yxml) in
+        Options.set_default options;
+        Future.ML_statistics := true;
+        Multithreading.trace := Options.int options "threads_trace";
+        Multithreading.max_threads := Options.int options "threads";
+        Goal.parallel_proofs := (if Options.int options "parallel_proofs" > 0 then 3 else 0)
+      end);
 
 val _ =
   Isabelle_Process.protocol_command "Document.define_command"