src/Pure/PIDE/rendering.scala
changeset 72926 71618a89a4e9
parent 72925 cd6f6e2fe99d
child 72927 69f768aff611
equal deleted inserted replaced
72925:cd6f6e2fe99d 72926:71618a89a4e9
   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   }