diff -r 2126cf946086 -r 22aeec526ffd src/Pure/PIDE/command_span.scala --- a/src/Pure/PIDE/command_span.scala Mon Nov 23 13:52:14 2020 +0100 +++ b/src/Pure/PIDE/command_span.scala Mon Nov 23 15:14:58 2020 +0100 @@ -18,14 +18,18 @@ case Command_Span(name, _) => proper_string(name) getOrElse "" case Ignored_Span => "" case Malformed_Span => "" + case Theory_Span => "" } } case class Command_Span(name: String, pos: Position.T) extends Kind case object Ignored_Span extends Kind case object Malformed_Span extends Kind + case object Theory_Span extends Kind sealed case class Span(kind: Kind, content: List[Token]) { + def is_theory: Boolean = kind == Theory_Span + def name: String = kind match { case Command_Span(name, _) => name case _ => "" } @@ -67,8 +71,11 @@ val empty: Span = Span(Ignored_Span, Nil) - def unparsed(source: String): Span = - Span(Malformed_Span, List(Token(Token.Kind.UNPARSED, source))) + def unparsed(source: String, theory: Boolean): Span = + { + val kind = if (theory) Theory_Span else Malformed_Span + Span(kind, List(Token(Token.Kind.UNPARSED, source))) + } /* XML data representation */