equal
deleted
inserted
replaced
215 global_state.change_yield( |
215 global_state.change_yield( |
216 _.continue_history(Future.value(previous), text_edits, Future.value(version))) |
216 _.continue_history(Future.value(previous), text_edits, Future.value(version))) |
217 |
217 |
218 val assignment = global_state().the_assignment(previous).get_finished |
218 val assignment = global_state().the_assignment(previous).get_finished |
219 global_state.change(_.define_version(version, assignment)) |
219 global_state.change(_.define_version(version, assignment)) |
220 global_state.change_yield(_.assign(version.id, Nil)) |
220 global_state.change_yield(_.assign(version.id, Document.no_assign)) |
221 |
221 |
222 prover.get.update_perspective(previous.id, version.id, name, perspective) |
222 prover.get.update_perspective(previous.id, version.id, name, perspective) |
223 } |
223 } |
224 |
224 |
225 |
225 |
246 //}}} |
246 //}}} |
247 |
247 |
248 |
248 |
249 /* exec state assignment */ |
249 /* exec state assignment */ |
250 |
250 |
251 def handle_assign(id: Document.Version_ID, edits: List[(Document.Command_ID, Document.Exec_ID)]) |
251 def handle_assign(id: Document.Version_ID, assign: Document.Assign) |
252 //{{{ |
252 //{{{ |
253 { |
253 { |
254 val cmds = global_state.change_yield(_.assign(id, edits)) |
254 val cmds = global_state.change_yield(_.assign(id, assign)) |
255 for (cmd <- cmds) command_change_buffer ! cmd |
255 for (cmd <- cmds) command_change_buffer ! cmd |
256 assignments.event(Session.Assignment) |
256 assignments.event(Session.Assignment) |
257 } |
257 } |
258 //}}} |
258 //}}} |
259 |
259 |
334 else if (result.is_exit) phase = Session.Inactive |
334 else if (result.is_exit) phase = Session.Inactive |
335 } |
335 } |
336 else if (result.is_stdout) { } |
336 else if (result.is_stdout) { } |
337 else if (result.is_status) { |
337 else if (result.is_status) { |
338 result.body match { |
338 result.body match { |
339 case List(Isar_Document.Assign(id, edits)) => |
339 case List(Isar_Document.Assign(id, assign)) => |
340 try { handle_assign(id, edits) } |
340 try { handle_assign(id, assign) } |
341 catch { case _: Document.State.Fail => bad_result(result) } |
341 catch { case _: Document.State.Fail => bad_result(result) } |
342 case List(Keyword.Command_Decl(name, kind)) => syntax += (name, kind) |
342 case List(Keyword.Command_Decl(name, kind)) => syntax += (name, kind) |
343 case List(Keyword.Keyword_Decl(name)) => syntax += name |
343 case List(Keyword.Keyword_Decl(name)) => syntax += name |
344 case List(Thy_Info.Loaded_Theory(name)) => loaded_theories += name |
344 case List(Thy_Info.Loaded_Theory(name)) => loaded_theories += name |
345 case _ => bad_result(result) |
345 case _ => bad_result(result) |