src/Tools/jEdit/src/jedit/document_model.scala
changeset 38845 a9e37daf5bd0
parent 38843 d95522496593
child 38846 e54c33dbe77c
equal deleted inserted replaced
38844:f3221fd64426 38845:a9e37daf5bd0
   264         val context = new Document_Model.Token_Markup.LineContext(line, previous)
   264         val context = new Document_Model.Token_Markup.LineContext(line, previous)
   265 
   265 
   266         val start = buffer.getLineStartOffset(line)
   266         val start = buffer.getLineStartOffset(line)
   267         val stop = start + line_segment.count
   267         val stop = start + line_segment.count
   268         val range = Text.Range(start, stop)
   268         val range = Text.Range(start, stop)
   269         val former_range = snapshot.revert(range)
       
   270 
   269 
   271         /* FIXME
   270         /* FIXME
   272         for (text_area <- Isabelle.jedit_text_areas(buffer)
   271         for (text_area <- Isabelle.jedit_text_areas(buffer)
   273               if Document_View(text_area).isDefined)
   272               if Document_View(text_area).isDefined)
   274           Document_View(text_area).get.set_styles()
   273           Document_View(text_area).get.set_styles()
   288           if Document_Model.Token_Markup.token_style(name) != Token.NULL =>
   287           if Document_Model.Token_Markup.token_style(name) != Token.NULL =>
   289             Document_Model.Token_Markup.token_style(name)
   288             Document_Model.Token_Markup.token_style(name)
   290         }
   289         }
   291 
   290 
   292         var next_x = start
   291         var next_x = start
   293         for {
   292         for (info <- snapshot.select_markup(range)(token_markup)(Token.NULL)) {
   294           (command, command_start) <- snapshot.node.command_range(former_range)
   293           val Text.Range(abs_start, abs_stop) = info.range
   295           info <- snapshot.state(command).markup.
       
   296             select((former_range - command_start).restrict(command.range))(token_markup)(Token.NULL)
       
   297           val Text.Range(abs_start, abs_stop) = snapshot.convert(info.range + command_start)
       
   298           if abs_stop > start && abs_start < stop  // FIXME abs_range overlaps range (redundant!?)
       
   299         }
       
   300         {
       
   301           val token_start = (abs_start - start) max 0
   294           val token_start = (abs_start - start) max 0
   302           val token_length =
   295           val token_length =
   303             (abs_stop - abs_start) -
   296             (abs_stop - abs_start) -
   304             ((start - abs_start) max 0) -
   297             ((start - abs_start) max 0) -
   305             ((abs_stop - stop) max 0)
   298             ((abs_stop - stop) max 0)