sig
module Ansi :
sig
val is_color_tty : unit -> bool
type style = [ `Green | `Red | `Underline ]
val printf :
Shell.Ansi.style ->
('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
val eprintf :
Shell.Ansi.style ->
('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
end
module Process :
sig
type status =
[ `Exited of int
| `Signaled of Core.Signal.t
| `Stopped of Core.Signal.t
| `Timeout of Core.Std.Time.Span.t ]
type t
type result = {
command : Shell.Process.t;
status : Shell.Process.status;
stdout : string;
stderr : string;
}
exception Failed of Shell.Process.result
val to_string : Shell.Process.t -> string
val status_to_string : Shell.Process.status -> string
val format_failed : Shell.Process.result -> string
val cmd : string -> string list -> Shell.Process.t
val shell : string -> Shell.Process.t
val remote :
?user:string -> host:string -> Shell.Process.t -> Shell.Process.t
type 'a reader
val content : string Shell.Process.reader
val discard : unit Shell.Process.reader
val lines : string list Shell.Process.reader
val head : string Shell.Process.reader
val run :
?timeout:Core.Std.Time.Span.t option ->
?working_dir:string ->
?expect:int list ->
?verbose:bool ->
?echo:bool ->
?input:string -> Shell.Process.t -> 'a Shell.Process.reader -> 'a
val test :
?timeout:Core.Std.Time.Span.t option ->
?working_dir:string ->
?verbose:bool ->
?echo:bool ->
?input:string ->
?true_v:int list -> ?false_v:int list -> Shell.Process.t -> bool
end
type 'a with_process_flags =
?timeout:Core.Std.Time.Span.t option ->
?working_dir:string ->
?verbose:bool -> ?echo:bool -> ?input:string -> 'a
type 'a with_run_flags = (?expect:int list -> 'a) Shell.with_process_flags
type 'a cmd = string -> string list -> 'a
val run : unit Shell.cmd Shell.with_run_flags
val run_lines : string list Shell.cmd Shell.with_run_flags
val run_one : string Shell.cmd Shell.with_run_flags
val run_full : string Shell.cmd Shell.with_run_flags
type ('a, 'b) sh_cmd = ('a, unit, string, 'b) Pervasives.format4 -> 'a
val sh : ('a, unit) Shell.sh_cmd Shell.with_run_flags
val sh_lines : ('a, string list) Shell.sh_cmd Shell.with_run_flags
val sh_one : ('a, string) Shell.sh_cmd Shell.with_run_flags
val sh_full : ('a, string) Shell.sh_cmd Shell.with_run_flags
type 'a with_test_flags =
(?true_v:int list -> ?false_v:int list -> 'a) Shell.with_process_flags
val test : bool Shell.cmd Shell.with_test_flags
val sh_test : ('a, bool) Shell.sh_cmd Shell.with_test_flags
val mkdir_p : ?perm:Core.Std.Unix.file_perm -> string -> unit
val ls : string -> string list
val quote : string -> string
val is_directory : ?unlink:bool -> string -> bool
val is_file : ?unlink:bool -> string -> bool
val file_kind : string -> Core.Std.Unix.file_kind
val file_exists : string -> bool
val copy_file :
?overwrite:bool ->
?perm:Core.Std.Unix.file_perm -> src:string -> dst:string -> unit
val rm : string -> unit
val cp : string -> string -> unit
val whoami : ?real:bool -> unit -> string
val home : unit -> string
val get_group_names : unit -> string list
val in_group : string -> bool
val hostname : unit -> string
val which : string -> string option
val get_editor : unit -> string option
val mkdir_p : ?perm:Core.Std.Unix.file_perm -> string -> unit
val ls : string -> string list
val quote : string -> string
val ( ^/ ) : string -> string -> string
val ssh : user:string -> host:string -> string -> unit
val scp :
?recurse:bool -> user:string -> host:string -> string -> string -> unit
val echo : ('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
val warnf : ('a, unit, string, unit) Pervasives.format4 -> 'a
val email :
string -> string Core.Std.List.container -> string -> string -> unit
end