Skip to main content

Crate aisling

Crate aisling 

Source
Expand description

Aisling: embeddable terminal text effects and loaders for Rust TUI applications.

The crate exposes effect playback as an iterator of Frame values. A frame is just a fixed-size grid of styled Cells, so callers can render it into Ratatui, Crossterm, ANSI strings, tests, logs, or any custom backend.

use aisling::{Effect, EffectKind, Loader, LoaderKind};

let frames = Effect::new(EffectKind::Wipe, "Aisling").frames();
assert!(frames.last().unwrap().to_plain_string().contains("Aisling"));

let loader = Loader::new(LoaderKind::Tqdm);
assert!(loader.line(0, 0.42).contains("42%"));

Re-exports§

pub use color::Color;
pub use color::ColorPair;
pub use color::Gradient;
pub use color::GradientDirection;
pub use color::ParseColorError;
pub use easing::Easing;
pub use effects::Effect;
pub use effects::EffectConfig;
pub use effects::EffectFrames;
pub use effects::EffectKind;
pub use effects::ExistingColorHandling;
pub use frame::Cell;
pub use frame::Frame;
pub use loaders::Loader;
pub use loaders::LoaderConfig;
pub use loaders::LoaderFrames;
pub use loaders::LoaderKind;
pub use loaders::LoaderProgress;
pub use loaders::UnknownLoaderError;

Modules§

color
easing
effects
frame
loaders