src/Pure/General/pretty.ML
changeset 71465 910a081cca74
parent 69345 6bd63c94cf62
child 72075 9c0b835d4cc2
equal deleted inserted replaced
71464:4a04b6bd628b 71465:910a081cca74
    51   val separate: string -> T list -> T list
    51   val separate: string -> T list -> T list
    52   val commas: T list -> T list
    52   val commas: T list -> T list
    53   val enclose: string -> string -> T list -> T
    53   val enclose: string -> string -> T list -> T
    54   val enum: string -> string -> string -> T list -> T
    54   val enum: string -> string -> string -> T list -> T
    55   val position: Position.T -> T
    55   val position: Position.T -> T
       
    56   val here: Position.T -> T list
    56   val list: string -> string -> T list -> T
    57   val list: string -> string -> T list -> T
    57   val str_list: string -> string -> string list -> T
    58   val str_list: string -> string -> string list -> T
    58   val big_list: string -> T list -> T
    59   val big_list: string -> T list -> T
    59   val indent: int -> T -> T
    60   val indent: int -> T -> T
    60   val unbreakable: T -> T
    61   val unbreakable: T -> T
   188 
   189 
   189 fun enum sep lpar rpar prts = enclose lpar rpar (separate sep prts);
   190 fun enum sep lpar rpar prts = enclose lpar rpar (separate sep prts);
   190 
   191 
   191 val position =
   192 val position =
   192   enum "," "{" "}" o map (fn (x, y) => str (x ^ "=" ^ y)) o Position.properties_of;
   193   enum "," "{" "}" o map (fn (x, y) => str (x ^ "=" ^ y)) o Position.properties_of;
       
   194 
       
   195 fun here pos =
       
   196   let
       
   197     val props = Position.properties_of pos;
       
   198     val (s1, s2) = Position.here_strs pos;
       
   199   in
       
   200     if s2 = "" then []
       
   201     else [str s1, mark_str (Markup.properties props Markup.position, s2)]
       
   202   end;
   193 
   203 
   194 val list = enum ",";
   204 val list = enum ",";
   195 fun str_list lpar rpar strs = list lpar rpar (map str strs);
   205 fun str_list lpar rpar strs = list lpar rpar (map str strs);
   196 
   206 
   197 fun big_list name prts = block (fbreaks (str name :: prts));
   207 fun big_list name prts = block (fbreaks (str name :: prts));