src/Tools/jEdit/src/jedit/DynamicTokenMarker.scala
changeset 34700 0e1d098940a7
parent 34687 c3693cca5a04
child 34704 504cab625d3e
equal deleted inserted replaced
34699:9a4e5f93ccb6 34700:0e1d098940a7
     5  * @author Fabian Immler, TU Munich
     5  * @author Fabian Immler, TU Munich
     6  */
     6  */
     7 
     7 
     8 package isabelle.jedit
     8 package isabelle.jedit
     9 
     9 
    10 import isabelle.prover.{Command, MarkupNode, Prover}
    10 
       
    11 import isabelle.prover.Prover
    11 import isabelle.Markup
    12 import isabelle.Markup
    12 
    13 
    13 import org.gjt.sp.jedit.buffer.JEditBuffer
    14 import org.gjt.sp.jedit.buffer.JEditBuffer
    14 import org.gjt.sp.jedit.syntax.{Token => JToken,
    15 import org.gjt.sp.jedit.syntax.{Token => JToken,
    15   TokenMarker, TokenHandler, SyntaxStyle, ParserRuleSet}
    16   TokenMarker, TokenHandler, SyntaxStyle, ParserRuleSet}
    93     Set(Markup.IDENT, Markup.COMMAND, Markup.KEYWORD, Markup.VERBATIM, Markup.COMMENT,
    94     Set(Markup.IDENT, Markup.COMMAND, Markup.KEYWORD, Markup.VERBATIM, Markup.COMMENT,
    94       Markup.CONTROL, Markup.MALFORMED, Markup.STRING, Markup.ALTSTRING)
    95       Markup.CONTROL, Markup.MALFORMED, Markup.STRING, Markup.ALTSTRING)
    95   def is_outer(kind: String) = outer.contains(kind)
    96   def is_outer(kind: String) = outer.contains(kind)
    96 }
    97 }
    97 
    98 
    98 class DynamicTokenMarker(buffer: JEditBuffer, prover: Prover) extends TokenMarker
    99 
       
   100 class DynamicTokenMarker(buffer: JEditBuffer, prover: Prover)
       
   101   extends TokenMarker
    99 {
   102 {
   100   override def markTokens(prev: TokenMarker.LineContext,
   103   override def markTokens(prev: TokenMarker.LineContext,
   101       handler: TokenHandler, line_segment: Segment): TokenMarker.LineContext =
   104       handler: TokenHandler, line_segment: Segment): TokenMarker.LineContext =
   102   {
   105   {
   103     val previous = prev.asInstanceOf[IndexLineContext]
   106     val previous = prev.asInstanceOf[IndexLineContext]
   140 
   143 
   141     handler.handleToken(line_segment, JToken.END, line_segment.count, 0, context)
   144     handler.handleToken(line_segment, JToken.END, line_segment.count, 0, context)
   142     handler.setLineContext(context)
   145     handler.setLineContext(context)
   143     return context
   146     return context
   144   }
   147   }
       
   148 }
   145 
   149 
   146 }
       
   147 
   150 
   148 class IndexLineContext(val line: Int, prev: IndexLineContext)
   151 class IndexLineContext(val line: Int, prev: IndexLineContext)
   149   extends TokenMarker.LineContext(new ParserRuleSet("isabelle", "MAIN"), prev)
   152   extends TokenMarker.LineContext(new ParserRuleSet("isabelle", "MAIN"), prev)