equal
deleted
inserted
replaced
7 |
7 |
8 package isabelle |
8 package isabelle |
9 |
9 |
10 |
10 |
11 import scala.collection.immutable.Queue |
11 import scala.collection.immutable.Queue |
|
12 import scala.annotation.tailrec |
12 |
13 |
13 |
14 |
14 object Session |
15 object Session |
15 { |
16 { |
16 /* outlets */ |
17 /* outlets */ |
638 |
639 |
639 def snapshot(name: Document.Node.Name = Document.Node.Name.empty, |
640 def snapshot(name: Document.Node.Name = Document.Node.Name.empty, |
640 pending_edits: List[Text.Edit] = Nil): Document.Snapshot = |
641 pending_edits: List[Text.Edit] = Nil): Document.Snapshot = |
641 global_state.value.snapshot(name, pending_edits) |
642 global_state.value.snapshot(name, pending_edits) |
642 |
643 |
|
644 @tailrec final def await_stable_snapshot(): Document.Snapshot = |
|
645 { |
|
646 val snapshot = this.snapshot() |
|
647 if (snapshot.is_outdated) { |
|
648 Thread.sleep(output_delay.ms) |
|
649 await_stable_snapshot() |
|
650 } |
|
651 else snapshot |
|
652 } |
|
653 |
643 def start(start_prover: Prover.Receiver => Prover) |
654 def start(start_prover: Prover.Receiver => Prover) |
644 { |
655 { |
645 file_formats |
656 file_formats |
646 _phase.change( |
657 _phase.change( |
647 { |
658 { |