pidcat 0.2.1

An adb logcat wrapper and filters
Documentation
use colored::*;
use lazy_static::lazy_static;

struct Color(u8, u8, u8);

lazy_static! {
    static ref ERROR: Color = Color(
        u8::from_str_radix(&"#ff2600"[1..3], 16).unwrap(),
        u8::from_str_radix(&"#ff2600"[3..5], 16).unwrap(),
        u8::from_str_radix(&"#ff2600"[5..7], 16).unwrap()
    );
    static ref VERBOSE: Color = Color(
        u8::from_str_radix(&"#ffffff"[1..3], 16).unwrap(),
        u8::from_str_radix(&"#ffffff"[3..5], 16).unwrap(),
        u8::from_str_radix(&"#ffffff"[5..7], 16).unwrap()
    );
    static ref INFO: Color = Color(
        u8::from_str_radix(&"#05d702"[1..3], 16).unwrap(),
        u8::from_str_radix(&"#05d702"[3..5], 16).unwrap(),
        u8::from_str_radix(&"#05d702"[5..7], 16).unwrap()
    );
    static ref WARNING: Color = Color(
        u8::from_str_radix(&"#d75f02"[1..3], 16).unwrap(),
        u8::from_str_radix(&"#d75f02"[3..5], 16).unwrap(),
        u8::from_str_radix(&"#d75f02"[5..7], 16).unwrap()
    );
    static ref DEBUG: Color = Color(
        u8::from_str_radix(&"#5fafff"[1..3], 16).unwrap(),
        u8::from_str_radix(&"#5fafff"[3..5], 16).unwrap(),
        u8::from_str_radix(&"#5fafff"[5..7], 16).unwrap()
    );
}

macro_rules! error {
    ($($tt:tt)*) => {
        println!("{}", format!($($tt)*).truecolor(ERROR.0, ERROR.1, ERROR.2));
    }
}

macro_rules! warn {
    ($($tt:tt)*) => {
        println!("{}", format!($($tt)*).truecolor(WARNING.0, WARNING.1, WARNING.2));
    }
}

macro_rules! info {
    ($($tt:tt)*) => {
        println!("{}", format!($($tt)*).on_truecolor(INFO.0, INFO.1, INFO.2));
    }
}

macro_rules! debug {
    ($($tt:tt)*) => {
        println!("{}", format!($($tt)*).on_truecolor(DEBUG.0, DEBUG.1, DEBUG.2));
    }
}

macro_rules! verbose {
    ($($tt:tt)*) => {
        println!("{}", format!($($tt)*).truecolor(VERBOSE.0, VERBOSE.1, VERBOSE.2));
    }
}

fn main() {
    error!("hello {} {}", 123, "abc");
    info!("hello {} {}", 123, "abc");
    debug!("hello {} {}", 123, "abc");
    warn!("hello {} {}", 123, "abc");
    verbose!("hello {} {}", 123, "abc");
}