osc94 0.1.2

Library for handling progress bar sequences (OSC 9;4).
Documentation
  • Coverage
  • 100%
    13 out of 13 items documented2 out of 4 items with examples
  • Size
  • Source code size: 18.24 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 518.99 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 5s Average build duration of successful builds.
  • all releases: 7s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • PRO-2684/osc94
    1 0 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • PRO-2684

osc94

GitHub License GitHub Workflow Status GitHub Release GitHub Downloads (all assets, all releases) Crates.io Version Crates.io Total Downloads docs.rs

Library for handling progress bar sequences (OSC 9;4).

💡 Example

# #[cfg(feature = "std")]
# {
use osc94::Progress;
use std::io::Result;

# fn work() {}
#
fn main() -> Result<()> {
    let mut progress = Progress::default();
    progress.start();

    for i in 0..=100 {
        work();
        progress.increment(1).flush()?;
    }

    Ok(())
}
# }

See more examples in the examples directory.

📖 Usage

Usually, you'll only need the [Progress] struct, which provides a high-level interface and handles clean up job for you when dropped. If you need finer control, you can use the [OSC94] struct and [ProgressState] enum. See the documentation of respective API for more details.

🚩 Feature flags

Default features include std.

Feature Default Description
std Yes Enables [Progress], which writes progress sequences to std::io::Write destinations.
cli No Enables the osc94 binary. This also enables std.

Disable default features to use the crate in no_std contexts:

osc94 = { version = "0.1", default-features = false }

With default features disabled, [OSC94] and [ProgressState] remain available for formatting progress sequences, while [Progress] is not exported.

📥 Binary

The provided binary allows you to play with progress bar sequences:

$ osc94
Sets the progress state and value of the progress bar for 1 second.

Usage: osc94 <state> <progress>

States:
  0/hidden
  1/normal
  2/error
  3/indeterminate
  4/warning

Progress: 0-100

It can be installed via the following methods:

Using binstall

cargo binstall osc94

Downloading from Releases

Navigate to the Releases page and download respective binary for your platform. Make sure to give it execute permissions.

Compiling from Source

cargo install osc94 --features cli

🎉 Credits