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;