The progress-stream Library#
Many text-mode programs that perform long-running, non-interactive tasks (such as compilers) provide a running indication of what fraction of the task is complete using a bar graph drawn using text characters. This library implements a wrapper stream that interleaves the progress bar graph with any status output. When output is not directed to a console then progress updates are ignored.
- <progress-stream> Abstract Instantiable Class#
force? – If true, forces the wrapped stream to be treated as a console, allowing textual progress bar output.
bar-width: An instance of
<integer>representing the number of bar characters to be included in textual progress bar output. Defaults to 40.
line-width: An instance of
<integer>representing the total line width (including both progress bar and label) in characters. Defaults to 79.
- show-progress Generic function#
show-progress (stream position range #key label) => ()
Graphically displays the current progress, proportional to position divided by range, to the given stream. In the case where stream is a console (i.e., unredirected
show-progresswill draw a textual progress bar with overall width configured in the
- stream-supports-show-progress? Generic function#