equal
deleted
inserted
replaced
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) |