sig
type tags = Tags.t
type pathname = Pathname.t
type t = Seq of t list | Cmd of spec | Echo of string list * pathname | Nop
and spec =
N
| S of spec list
| A of string
| P of pathname
| Px of pathname
| Sh of string
| T of tags
| V of string
| Quote of spec
val atomize : string list -> spec
val atomize_paths : string list -> spec
val execute : ?quiet:bool -> ?pretend:bool -> t -> unit
val execute_many :
?quiet:bool -> ?pretend:bool -> t list -> (bool list * exn) option
val setup_virtual_command_solver : string -> (unit -> spec) -> unit
val search_in_path : string -> string
val reduce : spec -> spec
val print : Format.formatter -> t -> unit
val to_string : t -> string
val string_of_command_spec : spec -> string
end