more subgoal markup information, which is potentially useful to manage proof state output;
authorwenzelm
Fri, 14 Dec 2012 20:05:08 +0100
changeset 50537 08ce81aeeacc
parent 50536 6bb47864ae45
child 50538 48cb76b785da
more subgoal markup information, which is potentially useful to manage proof state output;
src/Pure/PIDE/markup.ML
src/Pure/goal_display.ML
--- a/src/Pure/PIDE/markup.ML	Fri Dec 14 18:41:56 2012 +0100
+++ b/src/Pure/PIDE/markup.ML	Fri Dec 14 20:05:08 2012 +0100
@@ -95,7 +95,7 @@
   val subgoalsN: string
   val proof_stateN: string val proof_state: int -> T
   val stateN: string val state: T
-  val subgoalN: string val subgoal: T
+  val subgoalN: string val subgoal: string -> T
   val taskN: string
   val acceptedN: string val accepted: T
   val forkedN: string val forked: T
@@ -337,7 +337,7 @@
 val (proof_stateN, proof_state) = markup_int "proof_state" subgoalsN;
 
 val (stateN, state) = markup_elem "state";
-val (subgoalN, subgoal) = markup_elem "subgoal";
+val (subgoalN, subgoal) = markup_string "subgoal" nameN;
 
 
 (* command status *)
--- a/src/Pure/goal_display.ML	Fri Dec 14 18:41:56 2012 +0100
+++ b/src/Pure/goal_display.ML	Fri Dec 14 20:05:08 2012 +0100
@@ -115,9 +115,9 @@
     fun pretty_list _ _ [] = []
       | pretty_list name prt lst = [Pretty.big_list name (map prt lst)];
 
-    fun pretty_subgoal (n, A) =
-      Pretty.markup Markup.subgoal [Pretty.str (" " ^ string_of_int n ^ ". "), prt_term A];
-    fun pretty_subgoals As = map pretty_subgoal (1 upto length As ~~ As);
+    fun pretty_subgoal s A =
+      Pretty.markup (Markup.subgoal s) [Pretty.str (" " ^ s ^ ". "), prt_term A];
+    val pretty_subgoals = map_index (fn (i, A) => pretty_subgoal (string_of_int (i + 1)) A);
 
     val pretty_ffpairs = pretty_list "flex-flex pairs:" (pretty_flexpair ctxt);