package terminal
Basic utilities for interacting with terminals
Install
dune-project
Dependency
Authors
Maintainers
Sources
progress-0.5.0.tbz
sha256=7f87f0597363928c45ba859ae5a1430f6aa3c29e251ff1a53cf786ed0e045961
sha512=45dee4fe2ae0b7fc3ca675f6e854d738873eb608ef9155ea5d7edac4639c183ae1f512847a1b43bdfc1f4c459e7d5b44d03ee809455797e680f890b33d531367
doc/CHANGES.html
0.5.0 (2025-09-19)
- Update to
ocamlformat.0.27.0
(@dinosaure, #49) - Fix on
Line.eta
(@gasche, #48) Remove the
Vector
module and use theDynarray
module when it's availablebreaking change:
progress
provides a new sub-libraryprogress.vector
which, depending on the OCaml version, corresponds to thevector
opam package for OCaml < 5.2.0 orStdlib.Dynarray
for OCaml >= 5.2.0. It unlocks the ability to linkprogress
with some projects which define their ownVector
module.
0.4.0 (2024-20-05)
- Revert the
terminal
API and keep an "happy" path to get size of a tty and be compatible with MirageOS (@art-w, @msprotz, #42, #43) - Use a
float
instead of aint
inflow_meter per-second
(@mbarbin, #23, #27)
0.3.0 (2024-04-13)
- Be compatible with MirageOS and remove
ocaml_terminal_get_sigwinch
(@art-w, #38) - Clear all lines in
interject_with
(@Gbury, #30) - Add
Display.remove_line
(@mbarbin, #26) - Fix compilation for OCaml 5.2 (reported by @Gbury, fixed by @dinosaure, #40)
- Add
Display.{pause,resume}
(@Gbury, #37)
0.2.2 (2023-05-26)
- Fix lower bounds on UTF-8 libraries (@craigfe, 42759d5)
- Fix removed functions in
mtime.2.0.0
(@patricoferris, #31) - Use actual printer width for elapsed segment (@lsdch, #28)
0.2.1 (2021-06-29)
- Fix the count segment of
Progress.counter
(whenpp
is passed) to show the running total rather than the latest reported value. (#19; @CraigFe, report by @Ngoguey42) - Fix
Terminal
stubs on MacOS. (#13; @CraigFe, report by @Ngoguey42) - Fix package tests on Windows.
Progress
does not yet support the Windows and Cygwin terminals; this is tracked by #16. (#15; @emillon)
0.2.0 (2021-06-26)
Major update of the API, including a number of new features:
- Rename the
Segment
module toLine
, and improve the set of primitives for progress bar construction significantly. This includes time-sensitive segments (e.gbytes_per_sec
,eta
) and padding segments (lpad
andrpad
). - Add
Progress.interject_with
for interleaving logging with rendering, and functions for usingProgress
withLogs
reporters. - Add support for adding lines to an ongoing rendering process via
Display
. - Improve the behaviour of the rendering core: handle terminal width changes / respond to user input etc. more cleanly.
- Add many more examples and general improvements to the documentation.
- Extract terminal-specific utilities to a new
Terminal
package.
Also contains a number of smaller fixes:
- Fix the display of minutes and seconds of
Progress.Units.seconds
andProgress_unix.counter
. (#6, @Ngoguey42) - Raise an exception when attempting to run separate render processes simultaneously. (#8, @CraigFe)
0.1.1 (2020-10-13)
- Rename
Progress.with_display
toProgress.with_reporters
. (#3, @CraigFe) - Change the default display mode of progress bars to
ASCII
rather thanUTF8
. (#2, @CraigFe) - Change
Segment.box_dynamic
to take a function rather than a reference. (#1, @CraigFe) - Fix a bug causing multi-line layouts to occasionally not adapt to terminal size changes. (#1, @CraigFe)
0.1.0 (2020-10-12)
Initial release.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page