package progress
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=7a92f6aede3d5010a30e6e47ccbc8380cc5bece8ac95c508323eb25272e6ddd3
sha512=a2ccea467e2d0e419b569992102bd2c43ff97b47f7f8413ee8fbe775ce369a80ff11e0a8fd450ebf1776f7c65baf2482076a120318c9d818488ceba0b9196639
doc/progress.engine/Progress_engine/Make/Line/Internals/index.html
Module Line.InternalsSource
Exposes the underlying implementation of line segments for testing. This API is unstable, unsafe and mostly undocumented; here be dragons etc.
The type of segments of progress bars that display reported values of type 'a.
type theta := Progress_engine__.Line_buffer.t -> event -> unittype 'a alpha := Progress_engine__.Line_buffer.t -> event -> 'a -> unitof_pp ~width pp is a segment that uses the supplied fixed-width pretty-printer to render the value. The pretty-printer must never emit newline characters.
conditional pred s has the same output format as s, but is only passes reported values down to s when they satisfy pred.
Stateful segments
periodic n s has the same output format as s, but only passes reported values down to s on every n-th call. This is useful when progress is being reported from a hot-loop, where the cost of rendering is non-negligible.
accumulator combine zero s has the same output format s.
stateful f is a segment that behaves as f () for any given render, allowing f to initialise any display state at the start of the rendering process.
Dynamically-sized segments
Certain segments can have their size determined dynamically by being wrapped inside one of the following boxes:
box w is a box that wraps a dynamically-sized segment and sets it to have size w () on each tick.
box-fixed n s fixes the size of the dynamic segment s to be n.
A box that takes on the current size of the terminal (or fallback if stdout is not attached to a terminal).