]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaConsole.mli
debian version 0.0.5-6
[helm.git] / helm / matita / matitaConsole.mli
index d591e25e2e43e1c3bad9d43beeacaedbe5924801..d0d1a53d3febad4bbc31afd0451a34383666460b 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
+type callback = string -> MatitaTypes.command_outcome
+
   (** @param evbox event box to which keyboard shortcuts are registered; no
   * shortcut will be registered if evbox is not given *)
 class console:
-  ?prompt:string -> ?phrase_sep:string -> ?callback:(string -> bool) ->
+  ?prompt:string -> ?phrase_sep:string -> ?callback:callback ->
   ?evbox:GBin.event_box -> paned:GPack.paned -> Gtk.text_view Gtk.obj ->
   object
     inherit GText.view
@@ -42,7 +44,7 @@ class console:
       * just after it; defaults to the empty string *)
     method show           : ?msg:string -> unit -> unit
     method hide           : unit -> unit
-(*     method toggle         : unit -> unit *)
+    method toggle         : unit -> unit
 
     method prompt         : string
     method set_prompt     : string -> unit
@@ -51,13 +53,15 @@ class console:
     method set_phrase_sep : string -> unit
 
       (** override previous callback definition *)
-    method set_callback   : (string -> bool) -> unit
+    method set_callback   : callback -> unit
 
     method ignore_insert_text_signal: bool -> unit
 
-      (** execute a unit -> unit function, if it raises exceptions shows them as
-      * errors in the console *)
-    method wrap_exn       : (unit -> unit) -> unit
+      (** execute a unit -> 'a function, if it raises exceptions shows them as
+      * errors in the console.
+      * @return Some of the returned value if the given function suceeds, None
+      * otherwise *)
+    method wrap_exn       : 'a. (unit -> 'a) -> 'a option
   end
 
   (** @param prompt user prompt (default "# ")
@@ -68,7 +72,7 @@ class console:
 val console :
   ?prompt:string ->
   ?phrase_sep:string ->
-  ?callback:(string -> bool) ->
+  ?callback:callback ->
   ?evbox:GBin.event_box ->
   paned:GPack.paned ->