X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaMisc.mli;h=a04258aee771bb6e63898a9d3fb3d279d2c7e978;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=ae1fc382b5de8a84747f209866ae0e9979fca5bb;hpb=1d431843f49b3658593c8cc918b53a43479a6486;p=helm.git diff --git a/helm/matita/matitaMisc.mli b/helm/matita/matitaMisc.mli index ae1fc382b..a04258aee 100644 --- a/helm/matita/matitaMisc.mli +++ b/helm/matita/matitaMisc.mli @@ -1,4 +1,4 @@ -(* Copyright (C) 2004, HELM Team. +(* Copyright (C) 2004-2005, HELM Team. * * This file is part of HELM, an Hypertextual, Electronic * Library of Mathematics, developed at the Computer Science @@ -23,10 +23,22 @@ * http://helm.cs.unibo.it/ *) -val is_dir: string -> bool (** @return true if file is a directory *) -val is_regular: string -> bool (** @return true if file is a regular file *) +val baseuri_of_baseuri_decl: + ('a, 'b, 'c, 'd, 'e) GrafiteAst.statement -> string option -val input_file: string -> string (** read all the contents of file to string *) + (** check whether no objects are defined below a given baseuri *) +val is_empty: string -> bool + +(** removes a file if it exists *) +val safe_remove: string -> unit +(** removes a dir if it exists and is empty *) +val safe_rmdir: string -> unit +(** checks if the dir is empty *) +val is_dir_empty: string -> bool +(** removes a directory and recursively the father (if empty) *) +val rmdir_descend: string -> unit + +val absolute_path: string -> string (** @return true if file is a (textual) proof script *) val is_proof_script: string -> bool @@ -34,3 +46,48 @@ val is_proof_script: string -> bool (** @return true if file is a (binary) proof object *) val is_proof_object: string -> bool + (** given a phrase, if it doesn't end with BuildTimeConf.phrase_sep, append + * it *) +val append_phrase_sep: string -> string + +val strip_trailing_slash: string -> string +val normalize_dir: string -> string (** add trailing "/" if missing *) +val strip_suffix: suffix:string -> string -> string + + (** @return tl tail of a list starting at a given element + * @param eq equality to be used, defaults to physical equality (==) + * @raise Not_found *) +val list_tl_at: ?equality:('a -> 'a -> bool) -> 'a -> 'a list -> 'a list + +exception History_failure + +type 'a memento + +class type ['a] history = + object ('b) + method add : 'a -> unit + method next : 'a (** @raise History_failure *) + method previous : 'a (** @raise History_failure *) + method load: 'a memento -> unit + method save: 'a memento + method is_begin: bool + method is_end: bool + end + + (** shell like history: new items added at the end of the history + * @param size maximum history size *) +class shell_history : int -> [string] history + + (** browser like history: new items added at the current point of the history + * @param size maximum history size + * @param first element in history (this history is never empty) *) +class ['a] browser_history: ?memento:'a memento -> int -> 'a -> ['a] history + + (** create a singleton from a given function. Given function is invoked the + * first time it gets called. Next invocation will return first value *) +val singleton: (unit -> 'a) -> (unit -> 'a) + + (** given the base name of an image, returns its full path *) +val image_path: string -> string +val obj_file_of_baseuri: string -> string +