178 case Stop => finished = true; reply(()) |
178 case Stop => finished = true; reply(()) |
179 |
179 |
180 case Text_Edits(previous, doc_blobs, text_edits, version_result) => |
180 case Text_Edits(previous, doc_blobs, text_edits, version_result) => |
181 val prev = previous.get_finished |
181 val prev = previous.get_finished |
182 val (syntax_changed, doc_edits, version) = |
182 val (syntax_changed, doc_edits, version) = |
183 Timing.timeit("Thy_Load.text_edits", timing) { |
183 Timing.timeit("text_edits", timing) { |
184 thy_load.text_edits(reparse_limit, prev, doc_blobs, text_edits) |
184 resources.text_edits(reparse_limit, prev, doc_blobs, text_edits) |
185 } |
185 } |
186 version_result.fulfill(version) |
186 version_result.fulfill(version) |
187 sender ! Change(doc_blobs, syntax_changed, doc_edits, prev, version) |
187 sender ! Change(doc_blobs, syntax_changed, doc_edits, prev, version) |
188 |
188 |
189 case bad => System.err.println("change_parser: ignoring bad message " + bad) |
189 case bad => System.err.println("change_parser: ignoring bad message " + bad) |
214 def current_state(): Document.State = global_state() |
214 def current_state(): Document.State = global_state() |
215 |
215 |
216 def recent_syntax(): Outer_Syntax = |
216 def recent_syntax(): Outer_Syntax = |
217 { |
217 { |
218 val version = current_state().recent_finished.version.get_finished |
218 val version = current_state().recent_finished.version.get_finished |
219 if (version.is_init) thy_load.base_syntax |
219 if (version.is_init) resources.base_syntax |
220 else version.syntax |
220 else version.syntax |
221 } |
221 } |
222 |
222 |
223 def snapshot(name: Document.Node.Name = Document.Node.Name.empty, |
223 def snapshot(name: Document.Node.Name = Document.Node.Name.empty, |
224 pending_edits: List[Text.Edit] = Nil): Document.Snapshot = |
224 pending_edits: List[Text.Edit] = Nil): Document.Snapshot = |
236 /* theory files */ |
236 /* theory files */ |
237 |
237 |
238 def header_edit(name: Document.Node.Name, header: Document.Node.Header): Document.Edit_Text = |
238 def header_edit(name: Document.Node.Name, header: Document.Node.Header): Document.Edit_Text = |
239 { |
239 { |
240 val header1 = |
240 val header1 = |
241 if (thy_load.loaded_theories(name.theory)) |
241 if (resources.loaded_theories(name.theory)) |
242 header.error("Cannot update finished theory " + quote(name.theory)) |
242 header.error("Cannot update finished theory " + quote(name.theory)) |
243 else header |
243 else header |
244 (name, Document.Node.Deps(header1)) |
244 (name, Document.Node.Deps(header1)) |
245 } |
245 } |
246 |
246 |
399 |
399 |
400 val assignment = global_state().the_assignment(previous).check_finished |
400 val assignment = global_state().the_assignment(previous).check_finished |
401 global_state >> (_.define_version(version, assignment)) |
401 global_state >> (_.define_version(version, assignment)) |
402 prover.get.update(previous.id, version.id, doc_edits) |
402 prover.get.update(previous.id, version.id, doc_edits) |
403 |
403 |
404 if (syntax_changed) thy_load.syntax_changed() |
404 if (syntax_changed) resources.syntax_changed() |
405 } |
405 } |
406 //}}} |
406 //}}} |
407 |
407 |
408 |
408 |
409 /* prover output */ |
409 /* prover output */ |