src/Pure/PIDE/document.scala
changeset 43425 0a5612040a8b
parent 40479 cc06f5528bb1
child 43427 5c716a68931a
equal deleted inserted replaced
43424:eeba70379f1a 43425:0a5612040a8b
   305           try { the_exec_state(the_assignment(version).get_finished.getOrElse(command, fail)) }
   305           try { the_exec_state(the_assignment(version).get_finished.getOrElse(command, fail)) }
   306           catch { case _: State.Fail => command.empty_state }
   306           catch { case _: State.Fail => command.empty_state }
   307 
   307 
   308         def convert(offset: Text.Offset) = (offset /: edits)((i, edit) => edit.convert(i))
   308         def convert(offset: Text.Offset) = (offset /: edits)((i, edit) => edit.convert(i))
   309         def revert(offset: Text.Offset) = (offset /: reverse_edits)((i, edit) => edit.revert(i))
   309         def revert(offset: Text.Offset) = (offset /: reverse_edits)((i, edit) => edit.revert(i))
   310 
   310         def convert(range: Text.Range) = (range /: edits)((r, edit) => edit.convert(r))
   311         def convert(range: Text.Range): Text.Range =
   311         def revert(range: Text.Range) = (range /: reverse_edits)((r, edit) => edit.revert(r))
   312           try { if (edits.isEmpty) range else range.map(convert(_)) }
       
   313           catch { // FIXME tmp
       
   314             case e: IllegalArgumentException =>
       
   315               System.err.println((true, range, edits)); throw(e)
       
   316           }
       
   317 
       
   318         def revert(range: Text.Range): Text.Range =
       
   319           try { if (edits.isEmpty) range else range.map(revert(_)) }
       
   320           catch { // FIXME tmp
       
   321             case e: IllegalArgumentException =>
       
   322               System.err.println((false, range, reverse_edits)); throw(e)
       
   323           }
       
   324 
   312 
   325         def select_markup[A](range: Text.Range)(result: Markup_Tree.Select[A])
   313         def select_markup[A](range: Text.Range)(result: Markup_Tree.Select[A])
   326           : Stream[Text.Info[Option[A]]] =
   314           : Stream[Text.Info[Option[A]]] =
   327         {
   315         {
   328           val former_range = revert(range)
   316           val former_range = revert(range)