tinterm 0.2.0

A powerful library for vibrant solid and gradient text with shimmer animations in terminal outputs.
Documentation
use std::thread;
use std::time::Duration;
use tinterm::*;

fn main() {
    println!("🌟 Tinterm Shimmer Showcase 🌟\n");

    // Basic shimmer effect
    println!("1. Basic Shimmer Effect:");
    let shimmer = "✨ Shimmering Text ✨".shimmer(Color::GOLD, None);
    println!("   Static: {}", shimmer.static_render());
    print!("   Animated: ");
    shimmer.animate(3);
    println!();

    // Shine effect with different colors
    println!("2. Shine Effect:");
    let shine_red = "🔥 Blazing Fire 🔥".shine(Color::RED);
    let shine_blue = "💎 Crystal Blue 💎".shine(Color::CYAN);
    let shine_green = "🌿 Forest Green 🌿".shine(Color::GREEN);

    println!("   Static renders:");
    println!("   {}", shine_red.static_render());
    println!("   {}", shine_blue.static_render());
    println!("   {}", shine_green.static_render());

    print!("   Animated shine: ");
    shine_red.animate(2);
    println!();

    // Glow effect with different intensities
    println!("3. Glow Effect:");
    let glow_soft = "🌙 Soft Moonlight 🌙".glow(Color::LIGHT_BLUE, 150);
    let glow_medium = "⭐ Bright Star ⭐".glow(Color::YELLOW, 200);
    let glow_intense = "☀️ Blazing Sun ☀️".glow(Color::ORANGE, 255);

    println!("   Static renders:");
    println!("   {}", glow_soft.static_render());
    println!("   {}", glow_medium.static_render());
    println!("   {}", glow_intense.static_render());

    // Shimmer with background colors
    println!("4. Shimmer with Background:");
    let bg_shimmer = "🎨 Art on Canvas 🎨"
        .shimmer(Color::WHITE, Some(Color::DARK_BLUE))
        .speed(80);
    print!("   ");
    bg_shimmer.animate(3);
    println!();

    // Gradient shimmer
    println!("5. Gradient Shimmer:");
    let gradient_shimmer = "🌈 Rainbow Bridge 🌈"
        .shimmer_gradient(Color::RED, Color::VIOLET, None)
        .speed(120);
    print!("   ");
    gradient_shimmer.animate(3);
    println!();

    // Custom speed demonstration
    println!("6. Speed Variations:");
    let fast = "⚡ Lightning Fast ⚡"
        .shimmer(Color::YELLOW, None)
        .speed(50);
    let slow = "🐌 Slow and Steady 🐌"
        .shimmer(Color::GREEN, None)
        .speed(200);

    print!("   Fast: ");
    fast.animate(2);
    print!("   Slow: ");
    slow.animate(2);
    println!();

    // Combining with other text effects
    println!("7. Combined Effects:");
    let bold_shimmer = "💪 Bold Shimmer 💪".bold().shimmer(Color::RED, None);
    let italic_glow = "💫 Italic Glow 💫".italic().glow(Color::PURPLE, 180);

    println!("   {}", bold_shimmer.static_render());
    println!("   {}", italic_glow.static_render());

    // Multi-line shimmer
    println!("8. Multi-line Effects:");
    let multiline = "🚀 Launch Sequence\n⭐ Stars Aligning\n🌙 Mission Success";
    let multiline_shimmer = multiline.shimmer(Color::CYAN, Some(Color::DARK_BLUE));
    print!("   ");
    multiline_shimmer.animate(2);
    println!();

    // Performance showcase
    println!("9. Performance Showcase - Multiple Effects:");
    let effects = vec![
        "🎯 Target Acquired".shimmer(Color::RED, None),
        "🔍 Scanning...".shine(Color::GREEN),
        "📡 Signal Strong".glow(Color::BLUE, 200),
        "✅ Mission Complete".shimmer_gradient(Color::GREEN, Color::LIME, None),
    ];

    for (i, effect) in effects.iter().enumerate() {
        print!("   Effect {}: ", i + 1);
        effect.clone().speed(60).animate(1);
        thread::sleep(Duration::from_millis(200));
    }

    println!("\n🎉 Shimmer showcase complete! 🎉");
}