src/Tools/jEdit/src/jedit_bibtex.scala
changeset 73617 20d0abffee99
parent 67290 98b6cd12f963
child 73987 fc363a3b690a
equal deleted inserted replaced
73616:b0ea03e837b1 73617:20d0abffee99
    18 import javax.swing.tree.DefaultMutableTreeNode
    18 import javax.swing.tree.DefaultMutableTreeNode
    19 import javax.swing.{JMenu, JMenuItem}
    19 import javax.swing.{JMenu, JMenuItem}
    20 
    20 
    21 import org.gjt.sp.jedit.Buffer
    21 import org.gjt.sp.jedit.Buffer
    22 import org.gjt.sp.jedit.textarea.{JEditTextArea, TextArea}
    22 import org.gjt.sp.jedit.textarea.{JEditTextArea, TextArea}
    23 import org.gjt.sp.jedit.syntax.{Token => JEditToken, TokenMarker, TokenHandler, ParserRuleSet}
    23 import org.gjt.sp.jedit.syntax.{Token => JEditToken, TokenMarker, TokenHandler}
    24 
    24 
    25 import sidekick.{SideKickParser, SideKickParsedData}
    25 import sidekick.{SideKickParser, SideKickParsedData}
    26 
    26 
    27 
    27 
    28 object JEdit_Bibtex
    28 object JEdit_Bibtex
    80     }
    80     }
    81 
    81 
    82 
    82 
    83   /* line context */
    83   /* line context */
    84 
    84 
    85   private val context_rules = new ParserRuleSet("bibtex", "MAIN")
    85   private val mode_rule_set = Token_Markup.mode_rule_set("bibtex")
    86 
    86 
    87   private class Line_Context(val context: Option[Bibtex.Line_Context])
    87   private class Line_Context(val context: Option[Bibtex.Line_Context])
    88     extends TokenMarker.LineContext(context_rules, null)
    88     extends TokenMarker.LineContext(mode_rule_set, null)
    89   {
    89   {
    90     override def hashCode: Int = context.hashCode
    90     override def hashCode: Int = context.hashCode
    91     override def equals(that: Any): Boolean =
    91     override def equals(that: Any): Boolean =
    92       that match {
    92       that match {
    93         case other: Line_Context => context == other.context
    93         case other: Line_Context => context == other.context
    98 
    98 
    99   /* token marker */
    99   /* token marker */
   100 
   100 
   101   class Token_Marker extends TokenMarker
   101   class Token_Marker extends TokenMarker
   102   {
   102   {
       
   103     addRuleSet(mode_rule_set)
       
   104 
   103     override def markTokens(context: TokenMarker.LineContext,
   105     override def markTokens(context: TokenMarker.LineContext,
   104         handler: TokenHandler, raw_line: Segment): TokenMarker.LineContext =
   106         handler: TokenHandler, raw_line: Segment): TokenMarker.LineContext =
   105     {
   107     {
   106       val line_ctxt =
   108       val line_ctxt =
   107         context match {
   109         context match {