console-utilities 1.0.1

A Rust crate for handling console input and output utilities.
Documentation
use crate::color::{RGB, set_text_color, reset_text_color};

pub fn print_rgb(prompt: &str, color: RGB) {
    set_text_color(color);
    print!("{}", prompt);
    reset_text_color();
}

pub fn print_gradient(text: &str, start_color: RGB, end_color: RGB) {
    let step = 1.0 / (text.len() - 1) as f64;

    for (i, ch) in text.chars().enumerate() {
        let current_r = (start_color.r as f64 * (1.0 - step * i as f64) + end_color.r as f64 * (step * i as f64)) as u8;
        let current_g = (start_color.g as f64 * (1.0 - step * i as f64) + end_color.g as f64 * (step * i as f64)) as u8;
        let current_b = (start_color.b as f64 * (1.0 - step * i as f64) + end_color.b as f64 * (step * i as f64)) as u8;

        let current_color = RGB::new(current_r, current_g, current_b);
        set_text_color(current_color);
        print!("{}", ch);
    }

    reset_text_color();
}