Module OpamMisc

module OpamMisc: sig .. end
Basic functions


Abstract types


module type SET = sig .. end
Collection of abstract values
module type MAP = sig .. end
Dictionaries of abstract values
module type ABSTRACT = sig .. end
All abstract types should implement this signature
module type OrderedType = sig .. end
Extended sets and maps
module Set: sig .. end
Set constructor
module Map: sig .. end
Map constructor
module Base: sig .. end
Base module, useful to abstract strings

Integer manipulation


module IntMap: MAP  with type key = int
Map of ints
module IntSet: SET  with type elt = int
Set of ints
val string_of_list : ('a -> string) -> 'a list -> string
Display a list of strings
val pretty_list : string list -> string
Display a pretty list: "x";"y";"z" -> "x, y and z"

String manipulation


module StringMap: MAP  with type key = string
Map of strings
module StringSet: SET  with type elt = string
Set of strings
module StringSetSet: SET  with type elt = StringSet.t
Set of string sets
module StringSetMap: MAP  with type key = StringSet.t
Map of string sets
val strip : string -> string
Strip a string
val starts_with : prefix:string -> string -> bool
Does a string starts with the given prefix ?
val ends_with : suffix:string -> string -> bool
Does a string ends with the given suffix ?
val remove_prefix : prefix:string -> string -> string
Remove a prefix
val remove_suffix : suffix:string -> string -> string
Remove a suffix
val cut_at : string -> char -> (string * string) option
Cut a string at the first occurence of the given char
val rcut_at : string -> char -> (string * string) option
Same as cut_at, but starts from the right
val contains : string -> char -> bool
Does a string contains the given chars ?
val split : string -> char -> string list
Split a string
val indent_left : string -> ?visual:string -> int -> string
left indenting. ~visual can be used to indent eg. ANSI colored strings and should correspond to the visible characters of s
val indent_right : string -> ?visual:string -> int -> string
right indenting
val sub_at : int -> string -> string
Cut a string

Misc


val reset_env_value : prefix:string -> string -> string list
Remove from a ':' separated list of string the one with the given prefix
val rsync_trim : string list -> string list
if rsync -arv return 4 lines, this means that no files have changed
val exact_match : Re.re -> string -> bool
Exact regexp matching
val filter_map : ('a -> 'b option) -> 'a list -> 'b list
Filter and map
val insert : ('a -> 'a -> int) -> 'a -> 'a list -> 'a list
Insert a value in an ordered list
val getenv : string -> string
Lazy environment variable
val env : unit -> (string * string) list
Lazy environment
val pretty_backtrace : unit -> string
Return a pretty-printed backtrace
val prettify_path : string -> string
Prettify a local path (eg. replace /home/me/ by '~')
module OP: sig .. end
val terminal_columns : unit -> int
When stdout refers to a terminal, query the number of columns. Otherwise return max_int.
val uname_s : unit -> string option
Get the output of uname -s
val guess_shell_compat : unit -> [ `bash | `csh | `fish | `sh | `zsh ]
Guess the shell compat-mode
val guess_dot_profile : [ `bash | `csh | `fish | `sh | `zsh ] -> string
Guess the location of .profile

/
val debug : bool Pervasives.ref