A Rust library for colorizing console output with cute gradients.
- Extension trait API (
"text".gradient()) - Builder API (
Cutifier::new()) - Stateful API for persistent gradients
- Built-in color palettes
- Hue range filtering
- Gradient directions
- Configurable parameters
- Custom writer support
Note
Windows Compatibility
- These features require Windows 10+ or a modern terminal
- Stateful API:
cute!(),cuteprintln!(),cuteprint!()macros - Extension trait API:
Displayformatting ofCutifiedString
- Stateful API:
use cutify::Cutify;println!("{}","Hello World".gradient());println!("{}","Pastel colors".pastel());println!("{}","Ocean vibes".ocean());println!("{}","Only purples".purples());Fine-grained control with method chaining:
use cutify::{Cutifier,ColorPalette,GradientDirection};Cutifier::new("Custom gradient").palette(ColorPalette::Sunset).direction(GradientDirection::Diagonal).hue_shift(15.0).print();// Write to custom bufferletmut buffer = Vec::new();Cutifier::new("To buffer").palette(ColorPalette::Fire).write_to(&mut buffer)?;Continue gradients across multiple prints:
use cutify::{cuteprintln, cute};cuteprintln!("This continues");cuteprintln!("the same gradient");let colored = cute!("across calls");palette(ColorPalette)- Apply predefined color schemehue_range(HueRange)- Limit colors to specific hue rangedirection(GradientDirection)- Set gradient directionsaturation(f32)- Adjust color saturation (0.0-1.0)lightness(f32)- Adjust color lightness (0.0-1.0)hue_shift(f32)- How much the hue changes per step (degrees, default: 12.0)step(f32)- How often the color changes (characters per step, default: 1.0)step(3.0)means every 3rd character gets a new color- Combine with
hue_shiftfor control:step(2.0).hue_shift(30.0)= big color jumps every 2 chars
scale(f32)- Alternative to hue_shift: characters for full gradient cycle (e.g., 10.0=completes in 10 chars, 0=disabled)base_hue(f32)- Set starting hue (0-360)random_hue()- Randomize base huereverse()- Reverse gradient direction
Run examples:
cargo run --example demoMIT

