equal
deleted
inserted
replaced
395 node: Document.Node, edit: Document.Edit_Text): Document.Node = |
395 node: Document.Node, edit: Document.Edit_Text): Document.Node = |
396 { |
396 { |
397 edit match { |
397 edit match { |
398 case (_, Document.Node.Clear()) => node.clear |
398 case (_, Document.Node.Clear()) => node.clear |
399 |
399 |
|
400 case (_, Document.Node.Blob()) => node |
|
401 |
400 case (name, Document.Node.Edits(text_edits)) => |
402 case (name, Document.Node.Edits(text_edits)) => |
401 val commands0 = node.commands |
403 val commands0 = node.commands |
402 val commands1 = edit_text(text_edits, commands0) |
404 val commands1 = edit_text(text_edits, commands0) |
403 val commands2 = |
405 val commands2 = |
404 recover_spans(thy_load, syntax, doc_blobs, name, node.perspective.visible, commands1) |
406 recover_spans(thy_load, syntax, doc_blobs, name, node.perspective.visible, commands1) |
413 if (node.same_perspective(perspective)) node |
415 if (node.same_perspective(perspective)) node |
414 else |
416 else |
415 node.update_perspective(perspective).update_commands( |
417 node.update_perspective(perspective).update_commands( |
416 consolidate_spans(thy_load, syntax, doc_blobs, reparse_limit, |
418 consolidate_spans(thy_load, syntax, doc_blobs, reparse_limit, |
417 name, visible, node.commands)) |
419 name, visible, node.commands)) |
418 |
|
419 case (_, Document.Node.Blob()) => node |
|
420 } |
420 } |
421 } |
421 } |
422 |
422 |
423 def text_edits( |
423 def text_edits( |
424 thy_load: Thy_Load, |
424 thy_load: Thy_Load, |