equal
deleted
inserted
replaced
303 |
303 |
304 def convert(offset: Text.Offset) = (offset /: edits)((i, edit) => edit.convert(i)) |
304 def convert(offset: Text.Offset) = (offset /: edits)((i, edit) => edit.convert(i)) |
305 def revert(offset: Text.Offset) = (offset /: reverse_edits)((i, edit) => edit.revert(i)) |
305 def revert(offset: Text.Offset) = (offset /: reverse_edits)((i, edit) => edit.revert(i)) |
306 |
306 |
307 def convert(range: Text.Range): Text.Range = |
307 def convert(range: Text.Range): Text.Range = |
308 if (edits.isEmpty) range else range.map(convert(_)) |
308 try { if (edits.isEmpty) range else range.map(convert(_)) } |
|
309 catch { // FIXME tmp |
|
310 case e: IllegalArgumentException => |
|
311 System.err.println((true, range, edits)); throw(e) |
|
312 } |
309 |
313 |
310 def revert(range: Text.Range): Text.Range = |
314 def revert(range: Text.Range): Text.Range = |
311 if (edits.isEmpty) range else range.map(revert(_)) |
315 try { if (edits.isEmpty) range else range.map(revert(_)) } |
|
316 catch { // FIXME tmp |
|
317 case e: IllegalArgumentException => |
|
318 System.err.println((false, range, reverse_edits)); throw(e) |
|
319 } |
312 |
320 |
313 def select_markup[A](range: Text.Range)(result: Markup_Tree.Select[A]) |
321 def select_markup[A](range: Text.Range)(result: Markup_Tree.Select[A]) |
314 : Stream[Text.Info[Option[A]]] = |
322 : Stream[Text.Info[Option[A]]] = |
315 { |
323 { |
316 val former_range = revert(range) |
324 val former_range = revert(range) |