equal
deleted
inserted
replaced
523 else entity_focus(caret_range, entity_focus_defs(visible_range)) |
523 else entity_focus(caret_range, entity_focus_defs(visible_range)) |
524 } |
524 } |
525 |
525 |
526 def caret_focus_ranges(caret_range: Text.Range, visible_range: Text.Range): List[Text.Range] = |
526 def caret_focus_ranges(caret_range: Text.Range, visible_range: Text.Range): List[Text.Range] = |
527 { |
527 { |
528 val focus_defs = caret_focus(caret_range, visible_range) |
528 val focus = caret_focus(caret_range, visible_range) |
529 if (focus_defs.defined) { |
529 if (focus.defined) { |
530 snapshot.cumulate[Boolean](visible_range, false, Rendering.entity_elements, _ => |
530 snapshot.cumulate[Boolean](visible_range, false, Rendering.entity_elements, _ => |
531 { |
531 { |
532 case (_, Text.Info(_, XML.Elem(Markup.Entity.Id(i), _))) |
532 case (_, Text.Info(_, XML.Elem(Markup.Entity.Id(i), _))) if focus(i) => Some(true) |
533 if focus_defs(i) => Some(true) |
|
534 case _ => None |
533 case _ => None |
535 }).flatMap(info => if (info.info) Some(info.range) else None) |
534 }).flatMap(info => if (info.info) Some(info.range) else None) |
536 } |
535 } |
537 else Nil |
536 else Nil |
538 } |
537 } |