added symbol_index (presently unused);
authorwenzelm
Sat, 04 Jul 2009 14:14:37 +0200
changeset 34640f3b5d6e248be
parent 34639 5b42b8725dc7
child 34641 c7de7b382318
added symbol_index (presently unused);
misc tuning;
src/Tools/jEdit/src/prover/Command.scala
     1.1 --- a/src/Tools/jEdit/src/prover/Command.scala	Sat Jul 04 14:14:07 2009 +0200
     1.2 +++ b/src/Tools/jEdit/src/prover/Command.scala	Sat Jul 04 14:14:37 2009 +0200
     1.3 @@ -20,8 +20,10 @@
     1.4  import sidekick.{SideKickParsedData, IAsset}
     1.5  
     1.6  
     1.7 -object Command {
     1.8 -  object Status extends Enumeration {
     1.9 +object Command
    1.10 +{
    1.11 +  object Status extends Enumeration
    1.12 +  {
    1.13      val UNPROCESSED = Value("UNPROCESSED")
    1.14      val FINISHED = Value("FINISHED")
    1.15      val FAILED = Value("FAILED")
    1.16 @@ -31,21 +33,26 @@
    1.17  
    1.18  class Command(val tokens: List[Token], val starts: Map[Token, Int])
    1.19  {
    1.20 +  require(!tokens.isEmpty)
    1.21 +
    1.22    val id = Isabelle.system.id()
    1.23  
    1.24 +
    1.25    /* content */
    1.26  
    1.27    override def toString = name
    1.28  
    1.29    val name = tokens.head.content
    1.30    val content: String = Token.string_from_tokens(tokens, starts)
    1.31 +  val symbol_index = new Symbol.Index(content)
    1.32  
    1.33    def start(doc: ProofDocument) = doc.token_start(tokens.first)
    1.34    def stop(doc: ProofDocument) = doc.token_start(tokens.last) + tokens.last.length
    1.35  
    1.36    def contains(p: Token) = tokens.contains(p)
    1.37  
    1.38 -  /* command status */
    1.39 +
    1.40 +  /* command status */   // FIXME class Command_State, multiple states per command
    1.41  
    1.42    var state_id: IsarDocument.State_ID = null
    1.43  
    1.44 @@ -88,7 +95,8 @@
    1.45  
    1.46    var markup_root = empty_root_node
    1.47  
    1.48 -  def highlight_node: MarkupNode = {
    1.49 +  def highlight_node: MarkupNode =
    1.50 +  {
    1.51      import MarkupNode._
    1.52      markup_root.filter(_.info match {
    1.53        case RootInfo() | OuterInfo(_) | HighlightInfo(_) => true
    1.54 @@ -102,7 +110,8 @@
    1.55        else "wrong indices??",
    1.56        info)
    1.57  
    1.58 -  def type_at(pos: Int): String = {
    1.59 +  def type_at(pos: Int): String =
    1.60 +  {
    1.61      val types = markup_root.filter(_.info match { case TypeInfo(_) => true case _ => false })
    1.62      types.flatten(_.flatten).
    1.63        find(t => t.start <= pos && t.stop > pos).