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