i0 0.1.0

thei.rs/i0 reference implementation written in rust
use dollcode;
use dollnary;
use std::fmt::Display;

const DIM: &str = "\x1b[0;2m";
const RESET: &str = "\x1b[0m";
const CYAN: &str = "\x1b[0;96m";
const GREEN: &str = "\x1b[0;92m";

pub fn print_metadata<T: Display>(version: u8, metadata: &T) {
    println!("{DIM}# i0 -v {version} {metadata}");
}

pub fn print(version: u8, long: &str, short: &str) {
    let as_int = usize::from_str_radix(short, 16).unwrap();
    let as_dollcode = dollcode::encode(as_int);
    let as_dollnary = dollnary::encode(as_int);

    println!("{CYAN}long{DIM}: {GREEN}i0:{version}/{long}");
    println!("{CYAN}short{DIM}: {GREEN}{short} {DIM}# {as_dollcode} {as_dollnary}{RESET}");
}