Module B00_ui.Op

B000.Op interaction.

val is_selected : reads:B0_std.Fpath.t list -> writes:B0_std.Fpath.t list -> ids:B000.Op.id list -> hashes:string list -> groups:string list -> B000.Op.t -> bool

is_selected ~reads ~writes ~ids ~hashes ~groups o is true iff o reads a file in reads or writes a file in writes or has its id in ids, or has its hash in hashes or has is group in groups or if all these lists are empty.

val read_write_indexes : B000.Op.t list -> B000.Op.Set.t B0_std.Fpath.Map.t * B000.Op.Set.t B0_std.Fpath.Map.t

read_write_indexes ops is reads, writes with reads mapping file path to operations that reads them and writes mapping file paths to operations that write them.

val find_needs : ?⁠acc:B000.Op.Set.t -> recursive:bool -> writes:B000.Op.Set.t B0_std.Fpath.Map.t -> B000.Op.Set.t -> B000.Op.Set.t

find_needs ~recursive ~writes ~acc ops add to acc (defaults to B00.Op.Set.empty) the set of operations in the write index writes that need to be executed for the set of operations ops to be able to proceed. If recursive is false only direct dependencies are reported.

val find_enables : ?⁠acc:B000.Op.Set.t -> recursive:bool -> reads:B000.Op.Set.t B0_std.Fpath.Map.t -> B000.Op.Set.t -> B000.Op.Set.t

find_enables ~recursive ~writes ~acc ops add to acc (defaults to B00.Op.Set.empty) the set of operations in the read index reads that are enabled by the set of operations ops. If recursive is false only direct dependencies are reported.

val filter : revived:bool option -> statuses:[ `Aborted | `Done | `Failed | `Waiting ] list -> kinds:[ `Copy | `Delete | `Mkdir | `Notify | `Read | `Spawn | `Wait_files | `Write ] list -> B000.Op.t -> bool

filter ~revived ~statuses ~kinds is an operation filter for the given filters.

val order : by:[ `Create | `Dur | `Wait | `Start ] -> B000.Op.t list -> B000.Op.t list

order ~by ops orders ops by by time.

val select : reads:B0_std.Fpath.t list -> writes:B0_std.Fpath.t list -> ids:B000.Op.id list -> hashes:string list -> groups:string list -> needs:bool -> enables:bool -> recursive:bool -> revived:bool option -> statuses:[ `Aborted | `Done | `Failed | `Waiting ] list -> kinds:[ `Copy | `Delete | `Notify | `Mkdir | `Read | `Spawn | `Wait_files | `Write ] list -> order_by:[ `Create | `Dur | `Wait | `Start ] -> B000.Op.t list -> B000.Op.t list
val select_cli : ?⁠docs:string -> unit -> (B000.Op.t list -> B000.Op.t list) Cmdliner.Term.t
val select_man : Cmdliner.Manpage.block list