Module Ocaml_plugin.Shell

val set_defaults : ?⁠verbose:bool ‑> ?⁠echo:bool ‑> unit ‑> unit

Global properties regarding bash sys calls. Echo would print the command before running them, and verbose would print the full output of the command.

val flags : unit Async.Command.Param.t

Offers a command line param to set verbose and echo directly.

val run : ?⁠working_dir:string ‑> ?⁠env:Async.Unix.env ‑> ?⁠quiet_or_error:bool ‑> string ‑> string list ‑> unit Async.Deferred.Or_error.t
val run_lines : ?⁠working_dir:string ‑> ?⁠env:Async.Unix.env ‑> string ‑> string list ‑> string list Async.Deferred.Or_error.t
val getcwd : unit ‑> string Async.Deferred.Or_error.t
val chmod : string ‑> perm:Async.Unix.file_perm ‑> unit Async.Deferred.Or_error.t
val temp_dir : in_dir:string ‑> ?⁠prefix:string ‑> ?⁠suffix:string ‑> ?⁠perm:Async.Unix.file_perm ‑> unit ‑> string Async.Deferred.Or_error.t

When this function succeed, it returns a absolute pathname.

val absolute_pathname : string ‑> string Async.Deferred.Or_error.t
val absolute_pathnames : string list ‑> string list Async.Deferred.Or_error.t
val rm : ?⁠r:unit ‑> ?⁠f:unit ‑> string list ‑> unit Async.Deferred.Or_error.t
val rmdir : string ‑> unit Async.Deferred.Or_error.t
val cp : source:string ‑> dest:string ‑> unit Async.Deferred.Or_error.t
val readdir : string ‑> string array Async.Deferred.Or_error.t