let string_of_html_msg =
let rec string_of_html_tag = function
| `T s -> s
- | `L msgs -> String.concat "" (List.map string_of_html_tag msgs)
+ | `L msgs -> String.concat "\n" (List.map string_of_html_tag msgs)
| `BR -> "\n"
in
function
| `Error tag -> "Error: " ^ string_of_html_tag tag
| `Msg tag -> string_of_html_tag tag
+let html_of_html_msg =
+ let rec string_of_html_tag = function
+ | `T s -> s
+ | `L msgs ->
+ sprintf "<ul>\n%s\n</ul>"
+ (String.concat "\n"
+ (List.map
+ (fun msg -> sprintf "<li>%s</li>" (string_of_html_tag msg))
+ msgs))
+ | `BR -> "<br />\n"
+ in
+ function
+ | `Error tag -> "<b>Error: " ^ string_of_html_tag tag ^ "</b>"
+ | `Msg tag -> string_of_html_tag tag
+
class html_logger ?width ?height ?packing ?show () =
let scrolled_window = GBin.scrolled_window ?packing ?show () in
let vadj = scrolled_window#vadjustment in
type html_msg = [ `Error of html_tag | `Msg of html_tag ]
val string_of_html_msg: html_msg -> string
+val html_of_html_msg: html_msg -> string
class html_logger:
?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool ->