use crate::codes;
pub use self::colours as colors;
pub const SEQ_PREFIX: &str = "\u{1B}[";
pub const SEQ_POSTFIX: &str = "m";
pub const RESET: &str = codes!(0);
pub mod effects {
use super::codes;
pub const NORMAL: &str = super::RESET;
pub const BOLD: &str = codes!(1);
pub const DIM: &str = codes!(2);
pub const ITALIC: &str = codes!(3);
pub const UNDERLINE: &str = codes!(4);
pub const BLINK: &str = codes!(5);
pub const RAPID_BLINK: &str = codes!(6);
pub const INVERSE: &str = codes!(7);
pub const INVISIBLE: &str = codes!(8);
pub const STRIKE: &str = codes!(9);
pub const FRAKTUR: &str = codes!(20);
pub const DBL_UNDERLINE: &str = codes!(21);
pub const STEADY: &str = remove::BLINK;
pub const POSITIVE: &str = remove::INVISIBLE;
pub const VISIBLE: &str = remove::INVISIBLE;
pub mod remove {
use super::codes;
pub const BOLD_DIM: &str = codes!(22);
pub const ITALIC: &str = codes!(23);
pub const UNDERLINE: &str = codes!(24);
pub const BLINK: &str = codes!(25);
pub const INVERSE: &str = codes!(27);
pub const INVISIBLE: &str = codes!(28);
pub const STRIKE: &str = codes!(29);
pub const INTENSITY: &str = BOLD_DIM;
}
}
pub mod fonts {
use super::codes;
pub const DEFAULT: &str = codes!(10);
pub const ALT1: &str = codes!(11);
pub const ALT2: &str = codes!(12);
pub const ALT3: &str = codes!(13);
pub const ALT4: &str = codes!(14);
pub const ALT5: &str = codes!(15);
pub const ALT6: &str = codes!(16);
pub const ALT7: &str = codes!(17);
pub const ALT8: &str = codes!(18);
pub const ALT9: &str = codes!(19);
}
pub mod colours {
use super::codes;
pub const RESET: &str = codes!(39, 49);
pub const RESET_FG: &str = fg::RESET;
pub const RESET_BG: &str = bg::RESET;
pub mod fg {
use super::codes;
pub const BLACK: &str = codes!(30);
pub const RED: &str = codes!(31);
pub const GREEN: &str = codes!(32);
pub const YELLOW: &str = codes!(33);
pub const BLUE: &str = codes!(34);
pub const MAGENTA: &str = codes!(35);
pub const CYAN: &str = codes!(36);
pub const WHITE: &str = codes!(37);
pub const RESET: &str = codes!(39);
pub mod bright {
use super::codes;
pub const BLACK: &str = codes!(90);
pub const RED: &str = codes!(91);
pub const GREEN: &str = codes!(92);
pub const YELLOW: &str = codes!(93);
pub const BLUE: &str = codes!(94);
pub const MAGENTA: &str = codes!(95);
pub const CYAN: &str = codes!(96);
pub const WHITE: &str = codes!(97);
}
}
pub mod bg {
use super::codes;
pub const BLACK: &str = codes!(40);
pub const RED: &str = codes!(41);
pub const GREEN: &str = codes!(42);
pub const YELLOW: &str = codes!(43);
pub const BLUE: &str = codes!(44);
pub const MAGENTA: &str = codes!(45);
pub const CYAN: &str = codes!(46);
pub const WHITE: &str = codes!(47);
pub const RESET: &str = codes!(49);
pub mod bright {
use super::codes;
pub const BLACK: &str = codes!(100);
pub const RED: &str = codes!(101);
pub const GREEN: &str = codes!(102);
pub const YELLOW: &str = codes!(103);
pub const BLUE: &str = codes!(104);
pub const MAGENTA: &str = codes!(105);
pub const CYAN: &str = codes!(106);
pub const WHITE: &str = codes!(107);
}
}
}
pub mod misc {
use super::codes;
pub const FRAMED: &str = codes!(51);
pub const ENCIRCLED: &str = codes!(52);
pub const OVERLINED: &str = codes!(53);
pub mod remove {
use super::codes;
pub const FRAMED_ENCIRCLED: &str = codes!(54);
pub const OVERLINED: &str = codes!(55);
}
pub mod ideogram {
use super::codes;
pub const UNDERLINE: &str = codes!(60);
pub const DBL_UNDERLINE: &str = codes!(61);
pub const OVERLINE: &str = codes!(62);
pub const DBL_OVERLINE: &str = codes!(63);
pub const STRESS_MARKING: &str = codes!(64);
pub const RESET: &str = codes!(65);
}
}
pub mod combinations {
use super::codes;
pub mod fg_bold {
use super::*;
pub const BLACK: &str = codes!(30,1);
pub const RED: &str = codes!(31,1);
pub const GREEN: &str = codes!(32,1);
pub const YELLOW: &str = codes!(33,1);
pub const BLUE: &str = codes!(34,1);
pub const MAGENTA: &str = codes!(35,1);
pub const CYAN: &str = codes!(36,1);
pub const WHITE: &str = codes!(37,1);
}
}