--- a/src/Pure/Build/build.scala Tue Jul 29 17:01:57 2025 +0200
+++ b/src/Pure/Build/build.scala Tue Jul 29 19:59:04 2025 +0200
@@ -818,9 +818,8 @@
Build.read_theory(session_context.theory(thy), unicode_symbols = unicode_symbols) match {
case None => progress.echo(thy_heading + " MISSING")
case Some(snapshot) =>
- val rendering = new Rendering(snapshot, options, session)
val messages =
- rendering.text_messages()
+ Rendering.text_messages(snapshot)
.filter(message => progress.verbose || Protocol.is_exported(message.info))
if (messages.nonEmpty) {
val line_document = Line.Document(snapshot.node.source)
--- a/src/Pure/PIDE/rendering.scala Tue Jul 29 17:01:57 2025 +0200
+++ b/src/Pure/PIDE/rendering.scala Tue Jul 29 19:59:04 2025 +0200
@@ -96,6 +96,34 @@
error_pri -> Color.error_message)
+ /* text messages */
+
+ def text_messages(
+ snapshot: Document.Snapshot,
+ range: Text.Range = Text.Range.full
+ ): List[Text.Info[XML.Elem]] = {
+ val results =
+ snapshot.cumulate[Vector[Command.Results.Entry]](
+ range, Vector.empty, message_elements, command_states =>
+ {
+ case (res, Text.Info(_, elem)) =>
+ Command.State.get_result_proper(command_states, elem.markup.properties)
+ .map(res :+ _)
+ })
+
+ var seen_serials = Set.empty[Long]
+ def seen(i: Long): Boolean = {
+ val b = seen_serials(i)
+ seen_serials += i
+ b
+ }
+ for {
+ Text.Info(range, entries) <- results
+ (i, elem) <- entries if !seen(i)
+ } yield Text.Info(range, elem)
+ }
+
+
/* text color */
def get_text_color(markup: Markup): Option[Color.Value] =
@@ -561,28 +589,6 @@
} yield Text.Info(r, color)
}
- def text_messages(range: Text.Range = Text.Range.full): List[Text.Info[XML.Elem]] = {
- val results =
- snapshot.cumulate[Vector[Command.Results.Entry]](
- range, Vector.empty, Rendering.message_elements, command_states =>
- {
- case (res, Text.Info(_, elem)) =>
- Command.State.get_result_proper(command_states, elem.markup.properties)
- .map(res :+ _)
- })
-
- var seen_serials = Set.empty[Long]
- def seen(i: Long): Boolean = {
- val b = seen_serials(i)
- seen_serials += i
- b
- }
- for {
- Text.Info(range, entries) <- results
- (i, elem) <- entries if !seen(i)
- } yield Text.Info(range, elem)
- }
-
/* markup structure */