minimo 0.5.42

terminal ui library combining alot of things from here and there and making it slightly easier to play with
Documentation


#![allow(unused_assignments)]
#![allow(non_upper_case_globals)]
#![allow(unused_imports)]
#![allow(unused_variables)]
#![allow(unused_mut)]
#![allow(unused)]

pub use super::*;    


pub const bold: &CStyle = &CStyle("\x1b[1m");
pub const dim: &CStyle = &CStyle("\x1b[2m");
pub const italic: &CStyle = &CStyle("\x1b[3m");
pub const underline: &CStyle = &CStyle("\x1b[4m");
pub const blink: &CStyle = &CStyle("\x1b[5m");

// Regular colors
pub const gray: &CStyle = &CStyle("\x1b[38;2;128;128;128m"); // Gray
pub const red: &CStyle = &CStyle("\x1b[38;2;255;0;0m"); // Red
pub const green: &CStyle = &CStyle("\x1b[38;2;0;255;0m"); // Green
pub const yellow: &CStyle = &CStyle("\x1b[38;2;255;255;0m"); // Yellow
pub const blue: &CStyle = &CStyle("\x1b[38;2;0;0;255m"); // Blue
pub const magenta: &CStyle = &CStyle("\x1b[38;2;255;0;255m"); // Magenta
pub const cyan: &CStyle = &CStyle("\x1b[38;2;0;255;255m"); // Cyan
pub const white: &CStyle = &CStyle("\x1b[38;2;255;255;255m"); // White
pub const orange: &CStyle = &CStyle("\x1b[38;2;255;165;0m"); // Orange
pub const pink: &CStyle = &CStyle("\x1b[38;2;255;192;203m"); // Pink
pub const purple: &CStyle = &CStyle("\x1b[38;2;255;0;255m"); // Purple

// Bold colors (brighter and more saturated)
pub const gray_bold: &CStyle = &CStyle("\x1b[38;2;128;128;128m\x1b[1m"); // Bold gray
pub const red_bold: &CStyle = &CStyle("\x1b[38;2;255;0;0m\x1b[1m"); // Bold red
pub const green_bold: &CStyle = &CStyle("\x1b[38;2;0;255;0m\x1b[1m"); // Bold green
pub const yellow_bold: &CStyle = &CStyle("\x1b[38;2;255;255;0m\x1b[1m"); // Bold yellow
pub const blue_bold: &CStyle = &CStyle("\x1b[38;2;0;0;255m\x1b[1m"); // Bold blue
pub const magenta_bold: &CStyle = &CStyle("\x1b[38;2;255;0;255m\x1b[1m"); // Bold magenta
pub const cyan_bold: &CStyle = &CStyle("\x1b[38;2;0;255;255m\x1b[1m"); // Bold cyan
pub const white_bold: &CStyle = &CStyle("\x1b[38;2;255;255;255m\x1b[1m"); // Bold white
pub const orange_bold: &CStyle = &CStyle("\x1b[38;2;255;165;0m\x1b[1m"); // Bold orange
pub const pink_bold: &CStyle = &CStyle("\x1b[38;2;255;192;203m\x1b[1m"); // Bold pink
pub const purple_bold: &CStyle = &CStyle("\x1b[38;2;128;0;128m\x1b[1m"); // Bold purple

// Dim colors (darker and less saturated)
pub const gray_dim: &CStyle = &CStyle("\x1b[38;2;150;150;150m"); // Dim gray
pub const red_dim: &CStyle = &CStyle("\x1b[38;2;150;0;0m"); // Dim red
pub const green_dim: &CStyle = &CStyle("\x1b[38;2;0;150;0m"); // Dim green
pub const yellow_dim: &CStyle = &CStyle("\x1b[38;2;150;150;0m"); // Dim yellow
pub const blue_dim: &CStyle = &CStyle("\x1b[38;2;0;0;150m"); // Dim blue
pub const magenta_dim: &CStyle = &CStyle("\x1b[38;2;150;0;150m"); // Dim magenta
pub const cyan_dim: &CStyle = &CStyle("\x1b[38;2;0;150;150m"); // Dim cyan
pub const white_dim: &CStyle = &CStyle("\x1b[38;2;150;150;150m"); // Dim white
pub const orange_dim: &CStyle = &CStyle("\x1b[38;2;150;65;0m"); // Dim orange
pub const pink_dim: &CStyle = &CStyle("\x1b[38;2;150;96;102m"); // Dim pink
pub const purple_dim: &CStyle = &CStyle("\x1b[38;2;50;0;50m"); // Dim purple

// Background colors always with black text
pub const graybg: &CStyle = &CStyle("\x1b[48;2;128;128;128m\x1b[30m");
pub const redbg: &CStyle = &CStyle("\x1b[48;2;255;0;0m\x1b[30m");
pub const greenbg: &CStyle = &CStyle("\x1b[48;2;0;255;0m\x1b[30m");
pub const yellowbg: &CStyle = &CStyle("\x1b[48;2;255;255;0m\x1b[30m");
pub const bluebg: &CStyle = &CStyle("\x1b[48;2;0;0;255m\x1b[30m");
pub const magentabg: &CStyle = &CStyle("\x1b[48;2;255;0;255m\x1b[30m");
pub const cyanbg: &CStyle = &CStyle("\x1b[48;2;0;255;255m\x1b[30m");
pub const whitebg: &CStyle = &CStyle("\x1b[48;2;255;255;255m\x1b[30m");
pub const orangebg: &CStyle = &CStyle("\x1b[48;2;255;165;0m\x1b[30m");
pub const pinkbg: &CStyle = &CStyle("\x1b[48;2;255;192;203m\x1b[30m");
pub const purplebg: &CStyle = &CStyle("\x1b[48;2;128;0;128m\x1b[30m");

pub const nostyle: &CStyle = &CStyle("");
pub const reset_color: &CStyle = &CStyle("\x1b[0m");

 




#[test]
fn test_hex() {
    assert_eq!(hex!("#FF0000"), "\x1b[38;2;255;0;0m");
    assert_eq!(hex!("#00FF00"), "\x1b[38;2;0;255;0m");
    assert_eq!(hex!("#0000FF"), "\x1b[38;2;0;0;255m");
}