support for permanent phase_changed watcher;
authorwenzelm
Tue, 14 Mar 2017 11:48:15 +0100
changeset 65225 ec9ec04546fc
parent 65224 68f5ebed961c
child 65226 3b27169fd9da
support for permanent phase_changed watcher;
src/Pure/System/isabelle_process.scala
--- a/src/Pure/System/isabelle_process.scala	Tue Mar 14 11:22:47 2017 +0100
+++ b/src/Pure/System/isabelle_process.scala	Tue Mar 14 11:48:15 2017 +0100
@@ -15,8 +15,12 @@
     args: List[String] = Nil,
     dirs: List[Path] = Nil,
     modes: List[String] = Nil,
-    store: Sessions.Store = Sessions.store())
+    store: Sessions.Store = Sessions.store(),
+    phase_changed: Session.Phase => Unit = null)
   {
+    if (phase_changed != null)
+      session.phase_changed += Session.Consumer("Isabelle_Process")(phase_changed)
+
     session.start(receiver =>
       Isabelle_Process(options, logic = logic, args = args, dirs = dirs, modes = modes,
         receiver = receiver, xml_cache = session.xml_cache, store = store))