src/Pure/General/pretty.ML
changeset 67522 9e712280cc37
parent 62899 845ed4584e21
child 68918 3a0db30e5d87
equal deleted inserted replaced
67521:6a27e86cc2e7 67522:9e712280cc37
   126 fun make_block {markup, consistent, indent} body =
   126 fun make_block {markup, consistent, indent} body =
   127   let
   127   let
   128     val indent' = force_nat indent;
   128     val indent' = force_nat indent;
   129     fun body_length prts len =
   129     fun body_length prts len =
   130       let
   130       let
   131         val (line, rest) = take_prefix (fn Break (true, _, _) => false | _ => true) prts;
   131         val (line, rest) = chop_prefix (fn Break (true, _, _) => false | _ => true) prts;
   132         val len' = Int.max (fold (Integer.add o length) line 0, len);
   132         val len' = Int.max (fold (Integer.add o length) line 0, len);
   133       in
   133       in
   134         (case rest of
   134         (case rest of
   135           Break (true, _, ind) :: rest' =>
   135           Break (true, _, ind) :: rest' =>
   136             body_length (Break (false, indent' + ind, 0) :: rest') len'
   136             body_length (Break (false, indent' + ind, 0) :: rest') len'