sig
  val commands : (string, string) Hashtbl.t
  val default_build_command : string -> string
  val output_name : string
  val ocamlbuild_output : unit -> Ed_outputs.text_output
  val goto_error : string -> int -> int -> int -> string -> unit
  type problem = {
    pb_file : string;
    pb_line : int;
    pb_start : int;
    pb_stop : int;
    pb_kind : [ `Error of string | `Warning of char * string ];
  }
  val warning_is_error : char -> bool
  val analyze_ocaml_compilation :
    (Ed_ocamlbuild.problem -> bool) -> string -> unit
  val run : ?output:Ed_outputs.text_output -> string -> unit
  val build : Ed_sourceview.sourceview -> '-> unit
end