src/Pure/PIDE/document.scala
changeset 39178 83e9f3ccea9f
parent 39177 0468964aec11
child 39621 20bba9cc4b51
equal deleted inserted replaced
39177:0468964aec11 39178:83e9f3ccea9f
   170     def state(command: Command): Command.State
   170     def state(command: Command): Command.State
   171     def convert(i: Text.Offset): Text.Offset
   171     def convert(i: Text.Offset): Text.Offset
   172     def convert(range: Text.Range): Text.Range
   172     def convert(range: Text.Range): Text.Range
   173     def revert(i: Text.Offset): Text.Offset
   173     def revert(i: Text.Offset): Text.Offset
   174     def revert(range: Text.Range): Text.Range
   174     def revert(range: Text.Range): Text.Range
   175     def select_markup[A](range: Text.Range)(result: PartialFunction[Text.Info[Any], A])
   175     def select_markup[A](range: Text.Range)(result: Markup_Tree.Select[A])
   176       : Stream[Text.Info[Option[A]]]
   176       : Stream[Text.Info[Option[A]]]
   177   }
   177   }
   178 
   178 
   179   object State
   179   object State
   180   {
   180   {
   308           if (edits.isEmpty) range else range.map(convert(_))
   308           if (edits.isEmpty) range else range.map(convert(_))
   309 
   309 
   310         def revert(range: Text.Range): Text.Range =
   310         def revert(range: Text.Range): Text.Range =
   311           if (edits.isEmpty) range else range.map(revert(_))
   311           if (edits.isEmpty) range else range.map(revert(_))
   312 
   312 
   313         def select_markup[A](range: Text.Range)(result: PartialFunction[Text.Info[Any], A])
   313         def select_markup[A](range: Text.Range)(result: Markup_Tree.Select[A])
   314           : Stream[Text.Info[Option[A]]] =
   314           : Stream[Text.Info[Option[A]]] =
   315         {
   315         {
   316           val former_range = revert(range)
   316           val former_range = revert(range)
   317           for {
   317           for {
   318             (command, command_start) <- node.command_range(former_range).toStream
   318             (command, command_start) <- node.command_range(former_range).toStream