package progress

  1. Overview
  2. Docs
type ('a, 'b) t

The type of active progress bar displays. The type parameters 'a and 'b track the types of the reporting functions supplied by reporters (see Multi.t for details).

val start : ?config:Config.t -> ('a, 'b) Multi.t -> ('a, 'b) t

Initiate rendering of a progress bar display. Raises Failure if there is already an active progress bar display.

val reporters : ('a, unit) t -> ('a, unit) Reporter.list

reporters d is the list of initial reporting functions belonging to display d.

Note this list does not include any reporters added during progress bar rendering via add_line.

val tick : (_, _) t -> unit

tick d re-renders the contents of display d without reporting any specific values. This function can be used to update spinners, durations, etc. when there is no actual progress to report.

val add_line : ?above:int -> (_, _) t -> 'a Line.t -> 'a Reporter.t

Add a line to an ongoing display, and get its reporting function. By default, the line is added to the bottom of the display (above = 0); the ~above argument can be passed to add the line above some number of existing lines.

val remove_line : (_, _) t -> _ Reporter.t -> unit

Remove a line from an ongoing display, identified by the reporting function that was returned by add_line. Lines may be removed either before they are finalised (for example if some task has been cancelled) or after being finalised. In both cases, the line will be removed from the display, thus retrieving some space in the terminal. Attempting to remove a line that has already been removed from the display will raise Failure. Also raises Failure if the display has already been finalised.

val pause : (_, _) t -> unit

Suspends the rendering of any active progress bar display. It can be useful to compose with the Logs library and avoid interference when printing to stdout / stderr from the rendering of progress bars.

val resume : (_, _) t -> unit

Resume the rendering of progress bar display.

val finalise : (_, _) t -> unit

Terminate the given progress bar display. Raises Failure if the display has already been finalised.