{"version": 2, "width": 86, "height": 22, "timestamp": 1696774785, "env": {"SHELL": "/usr/bin/zsh", "TERM": "xterm-256color"}}
[0.032701, "o", "\u001b[0m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\r\u001b[K\r\n\r\n\u001b[2A\u001b7\u001b[0m\u001b[49m\u001b[39m\u001b[0m\u001b[44m\u001b[38;5;254m \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/dev/ununhexium/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mcprintf\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[49m\u001b[34m\u001b[0m\u001b[34m\u001b[49m\u001b[39m\u001b[38;5;238m─────────────────────────────────────────────────\u001b[0m\u001b[38;5;238m\u001b[49m\u001b[37m\u001b[0m\u001b[37m\u001b[47m\u001b[30m 16:19:45\u001b[0m\u001b[30m\u001b[47m\u001b[47m\u001b[30m\u001b[0m\u001b[30m\u001b[47m\u001b[47m\u001b[30m \u001b[0m\u001b[30m\u001b[47m\u001b[49m\u001b[39m\r\n\u001b[0m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[38;5;76m❯\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[38;5;76m\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m\u001b[?2004h"]
[1.813209, "o", "\u001b[?25l"]
[1.813402, "o", "\u001b8\u001b[0m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\u001b[J"]
[1.814705, "o", "\u001b]2;uuh@thought:~/dev/ununhexium/cprintf\u0007\u001b]1;..nhexium/cprintf\u0007"]
[1.814866, "o", "\u001b[0m\u001b[38;5;254m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r\u001b[0m\u001b[49m\u001b[39m\u001b[27m\u001b[24m\u001b[K"]
[1.816525, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[49m\u001b[39m\r\n\u001b[A\u001b[0m\u001b[44m\u001b[38;5;254m \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/dev/ununhexium/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mcprintf\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[43m\u001b[34m\u001b[0m\u001b[34m\u001b[43m\u001b[43m\u001b[30m \u001b[30mmaster \u001b[30m⇡2 \u001b[30m!2 \u001b[30m?2\u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m \u001b[0m\u001b[30m\u001b[43m\u001b[49m\u001b[33m\u001b[0m\u001b[33m\u001b[49m\u001b[39m\u001b[38;5;238m───────────────────────────\u001b[0m\u001b[38;5;238m\u001b[49m\u001b[90m\u001b[0m\u001b[90m\u001b[100m\u001b[30m 4\u001b[0m\u001b[30m\u001b[100m\u001b[100m\u001b[30m ☑\u001b[0m\u001b[30m\u001b[100m\u001b[100m\u001b[30m \u001b[0m\u001b[30m\u001b[100m\u001b[100m\u001b[30m\u001b[37m\u001b[0m\u001b[37m\u001b[100m\u001b[47m\u001b[30m 16:19:45\u001b[0m\u001b[30m\u001b[47m\u001b[47m\u001b[30m\u001b[0m\u001b[30m\u001b[47m\u001b[47m\u001b[30m \u001b[0m\u001b[30m\u001b[47m\u001b[49m\u001b[39m\r\n\u001b[0m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[38;5;76m❯\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[38;5;76m\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m\u001b[K"]
[1.816684, "o", "\u001b[?1h\u001b="]
[1.817405, "o", "\u001b[?25h"]
[1.817541, "o", "\u001b[?2004h"]
[2.435561, "o", "\u001b[32m.\u001b[39m"]
[2.437077, "o", "\b\u001b[32m.\u001b[39m\u001b[90m/demo.sh color_features\u001b[39m\u001b[23D"]
[2.495723, "o", "\b\u001b[39m\u001b[4m.\u001b[39m\u001b[4m/\u001b[24m"]
[2.6293, "o", "\b\b\u001b[4m.\u001b[4m/\u001b[39m\u001b[4md\u001b[24m"]
[2.689285, "o", "\b\u001b[4md\u001b[39m\u001b[4me\u001b[24m"]
[3.24171, "o", "\b\b\b\b\u001b[24m\u001b[32m.\u001b[24m\u001b[32m/\u001b[24m\u001b[32md\u001b[24m\u001b[32me\u001b[32mm\u001b[32mo\u001b[32m.\u001b[32ms\u001b[32mh\u001b[39m\u001b[39m \u001b[39mc\u001b[39mo\u001b[39ml\u001b[39mo\u001b[39mr\u001b[39m_\u001b[39mf\u001b[39me\u001b[39ma\u001b[39mt\u001b[39mu\u001b[39mr\u001b[39me\u001b[39ms"]
[3.625781, "o", "\u001b[?1l\u001b>"]
[3.631956, "o", "\u001b[?2004l\r\r\n"]
[3.633247, "o", "\u001b]2;./demo.sh color_features\u0007\u001b]1;./demo.sh\u0007"]
[3.677485, "o", "\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `std::num::ParseIntError`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/parser.rs:1:5\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse std::num::ParseIntError;\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `Text`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/parser.rs:7:48\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m7\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse crate::model::{Color, Colors, Part, Style, Text};\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `vecs`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/helpers.rs:6:16"]
[3.67755, "o", "\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(crate) use vecs;\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused doc comment\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/cprintf.rs:18:13\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m18\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m /// TODO Special cases handling for more user friendliness\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m ///\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m20\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m /// cprintf\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m /// Is valid and outputs nothing\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b["]
[3.677725, "o", "0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m31\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m ///\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m32\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m /// The other cases require at least 2 arguments\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[33m|______________________________________________________^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m33\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m34\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m if inputs.len() < 2 && (has_specifiers || inputs[0].is_empty()) {\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m35\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m Err(\"The minimum number of arguments is 2. The first argument is the format. If no formatti\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m36\u001b[0m\u001b["]
[3.677831, "o", "0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m } else if inputs[0].is_empty() {\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m37\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m let mut result = inputs[1].to_string();\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m41\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m spec_to_ansi(&inputs, specs)\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m42\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m }\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_______-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mrustdoc does not generate documentation for expressions\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: use `//` for a plain comment\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[w"]
[3.67786, "o", "arn(unused_doc_comments)]` on by default\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `it`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/parser.rs:200:98\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m200\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text.as_str().trim().parse::<usize>().and_then(|it| Ok(Indexed(it))).unwrap_or_else(|it|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_it`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_variables)]` on by default\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unreachable pattern\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/parser.rs:262:17\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m262\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m "]
[3.678001, "o", " _ => todo!(\"Don't know how to interpret the color '{}'\", s.as_str())\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unreachable_patterns)]` on by default\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `text`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/cprintf.rs:14:37\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Specification { text, color, style } => true,\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: try ignoring the field: `text: _`\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `color`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/cprintf.rs:14:43\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m "]
[3.678082, "o", " Specification { text, color, style } => true,\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: try ignoring the field: `color: _`\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `style`\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/cprintf.rs:14:50\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Specification { text, color, style } => true,\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: try ignoring the field: `style: _`\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: associated functions `literal`, `positional_color`, `positional_background_color`, `positional_style`, `indexed`, and `indexed_color` are never used\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/model.rs:17:12\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b["]
[3.678132, "o", "1m\u001b[38;5;12m16\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl Part {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12massociated functions in this implementation\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m17\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn literal(text: &str) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m23\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn positional_color(color: Color) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn positional_background_color(color: Color) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m29\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m p"]
[3.678174, "o", "ub fn positional_style(style: Style) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m32\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub const fn indexed(index: usize) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m35\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub const fn indexed_color(index: usize, color: Colors) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(dead_code)]` on by default\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: associated functions `new`, `new_fg`, and `new_bg` are never used\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/model.rs:56:18\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m52\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[3"]
[3.67821, "o", "8;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl Colors {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12massociated functions in this implementation\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m56\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub const fn new(foreground: Color, background: Color) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m59\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub const fn new_fg(foreground: Color) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m62\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub const fn new_bg(background: Color) -> Self {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: associated function `rgb` is never used\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5"]
[3.678247, "o", ";12m--> \u001b[0m\u001b[0msrc/model.rs:114:12\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m87\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl Color {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12massociated function in this implementation\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m114\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn rgb(red: u8, green: u8, blue: u8) -> Self { RGB { red, green, blue } }\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\r\n\r\n\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variant `Reset` is never constructed\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/model.rs:167:5\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub enum Style {\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mvariant in this enum\u001b[0m\r\n\u001b[0m\u001b[1m\u001b[38;5;12m167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;"]
[3.678288, "o", "12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Reset = 0,\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\r\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `Style` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\u001b[0m\r\n\r\n\u001b[0m\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m:\u001b[0m `cprintf` (lib) generated 13 warnings (run `cargo fix --lib -p cprintf` to apply 7 suggestions)\r\n\u001b[0m\u001b[0m\u001b[1m\u001b[32m Finished\u001b[0m release [optimized] target(s) in 0.01s\r\n"]
[3.679636, "o", "\u001b[2J\r\n"]
[3.680061, "o", "Add colors everywhere\r\n\r\n\r\n"]
[3.680096, "o", "\r\nLong notation\r\n\r\n"]
[3.680151, "o", "+ ./cprintf 'A word: {color=green}' color=\r\n"]
[3.682594, "o", "A word: \u001b[32mcolor=\u001b[0m"]
[3.683252, "o", "\r\n\r\n\r\n\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[15.812258, "o", "\u001b[2J\r\n\r\nShort notation\r\n"]
[15.812334, "o", "\r\n+ ./cprintf 'A hash {#blue}' '#'\r\n"]
[15.815548, "o", "A hash \u001b[34m#\u001b[0m"]
[15.816223, "o", "\r\n\r\n\r\n\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[21.802309, "o", "\u001b[2J\r\n"]
[21.802469, "o", "\r\nThe colors can be specified using 3 notations\r\n"]
[21.802553, "o", "\r\n+ ./cprintf 'The ANSI code: {color=1}' color=1\r\n"]
[21.805048, "o", "The ANSI code: \u001b[31mcolor=1\u001b[0m"]
[21.805457, "o", "\r\n\r\n"]
[21.805488, "o", "+ ./cprintf 'A single letter: {color=r}' color=r\r\n"]
[21.808162, "o", "A single letter: \u001b[31mcolor=r\u001b[0m"]
[21.808915, "o", "\r\n\r\n"]
[21.808942, "o", "+ ./cprintf 'A word: {color=red}' color=red\r\n"]
[21.810706, "o", "A word: \u001b[31mcolor=red\u001b[0m"]
[21.811017, "o", "\r\n\r\n\r\n"]
[21.811098, "o", "\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[36.142201, "o", "\u001b[2J\r\n"]
[36.142262, "o", "\r\nBackground color\r\n"]
[36.142459, "o", "\r\n"]
[36.142568, "o", "+ ./cprintf 'The background color can be selected using {#/blue}' '#/color'\r\n"]
[36.144991, "o", "The background color can be selected using \u001b[44m#/color\u001b[0m"]
[36.145299, "o", "\r\n\r\n"]
[36.145323, "o", "\r\n"]
[36.145452, "o", "\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[47.512083, "o", "\u001b[2J\r\n"]
[47.512286, "o", "\r\nYou can change the foreground and the background\r\n\r\n"]
[47.51232, "o", "+ ./cprintf '{#blue/white}' 'Blue over White'\r\n"]
[47.516088, "o", "\u001b[34m\u001b[47mBlue over White\u001b[0m"]
[47.516422, "o", "\r\n\r\n"]
[47.516463, "o", "\r\n"]
[47.516594, "o", "\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[55.983118, "o", "\u001b[2J\r\n\r\nOr only the background\r\n"]
[55.983205, "o", "\r\n+ ./cprintf '{#/g}' 'Like this'\r\n"]
[55.987045, "o", "\u001b[42mLike this\u001b[0m"]
[55.987947, "o", "\r\n\r\n\r\n\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[65.082606, "o", "\u001b[2J\r\n\r\n"]
[65.082851, "o", "Arbitrary colors\r\n\r\n+ ./cprintf '{#w/54370f} and {#e8acca}' Poop 'Toilet paper'\r\n"]
[65.085504, "o", "\u001b[37m\u001b[48;2;84;55;15mPoop\u001b[0m and \u001b[38;2;232;172;202mToilet paper\u001b[0m"]
[65.085892, "o", "\r\n\r\n\r\n"]
[65.085923, "o", "\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[72.432963, "o", "\u001b[2J\r\n\r\nReal rainbow\r\n"]
[72.437061, "o", "\r\n"]
[72.437144, "o", "+ ./cprintf '{%1 #ff0000} {%1 #ff4400} {%1 #ff8800} {%1 #ffc800} {%1 #f2ff00} {%1 #aeff00} {%1 #6aff00} {%1 #26ff00} {%1 #00ff1a} {%1 #00ff5e} {%1 #00ffa2} {%1 #00ffe6} {%1 #00d9ff} {%1 #0095ff} {%1 #0051ff} {%1 #000dff} {%1 #3700ff} {%1 #7700ff} {%1 #bb00ff} {%1 #ff00ff} ' X\r\n"]
[72.440188, "o", "\u001b[38;2;255;0;0mX\u001b[0m \u001b[38;2;255;68;0mX\u001b[0m \u001b[38;2;255;136;0mX\u001b[0m \u001b[38;2;255;200;0mX\u001b[0m \u001b[38;2;242;255;0mX\u001b[0m \u001b[38;2;174;255;0mX\u001b[0m \u001b[38;2;106;255;0mX\u001b[0m \u001b[38;2;38;255;0mX\u001b[0m \u001b[38;2;0;255;26mX\u001b[0m \u001b[38;2;0;255;94mX\u001b[0m \u001b[38;2;0;255;162mX\u001b[0m \u001b[38;2;0;255;230mX\u001b[0m \u001b[38;2;0;217;255mX\u001b[0m \u001b[38;2;0;149;255mX\u001b[0m \u001b[38;2;0;81;255mX\u001b[0m \u001b[38;2;0;13;255mX\u001b[0m \u001b[38;2;55;0;255mX\u001b[0m \u001b[38;2;119;0;255mX\u001b[0m \u001b[38;2;187;0;255mX\u001b[0m \u001b[38;2;255;0;255mX\u001b[0m "]
[72.440543, "o", "\r\n\r\n\r\n\u001b[2mPress the ANY key to continue ;P\u001b[0m\r\n"]
[78.521594, "o", "\u001b[2J\r\n\r\n"]
[78.523347, "o", "\u001b[1m\u001b[7m%\u001b[27m\u001b[1m\u001b[0m \r \r"]
[78.523858, "o", "\u001b]2;uuh@thought:~/dev/ununhexium/cprintf\u0007\u001b]1;..nhexium/cprintf\u0007"]
[78.574258, "o", "\u001b[0m\u001b[49m\u001b[39m\u001b[K\r\n"]
[78.575761, "o", "\r\u001b[0m\u001b[27m\u001b[24m\u001b[J\u001b[0m\u001b[49m\u001b[39m\r\n\u001b[A\u001b[0m\u001b[44m\u001b[38;5;254m \u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255m~\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m/dev/ununhexium/\u001b[1m\u001b[38;5;254m\u001b[44m\u001b[38;5;255mcprintf\u001b[0m\u001b[38;5;255m\u001b[44m\u001b[44m\u001b[38;5;254m\u001b[0m\u001b[38;5;254m\u001b[44m\u001b[44m\u001b[38;5;254m \u001b[0m\u001b[38;5;254m\u001b[44m\u001b[43m\u001b[34m\u001b[0m\u001b[34m\u001b[43m\u001b[43m\u001b[30m \u001b[30mmaster \u001b[30m⇡2 \u001b[30m!2 \u001b[30m?2\u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m \u001b[0m\u001b[30m\u001b[43m\u001b[49m\u001b[33m\u001b[0m\u001b[33m\u001b[49m\u001b[39m\u001b[38;5;238m───────────────────\u001b[0m\u001b[38;5;238m\u001b[49m\u001b[33m\u001b[0m\u001b[33m\u001b[43m\u001b[30m 1m 15s\u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m\u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m \u001b[0m\u001b[30m\u001b[43m\u001b[43m\u001b[30m\u001b[90m\u001b[0m\u001b[90m\u001b[43m\u001b[100m\u001b[30m 4\u001b[0m\u001b[30m\u001b[100m\u001b[100m\u001b[30m ☑\u001b[0m\u001b[30m\u001b[100m\u001b[100m\u001b[30m \u001b[0m\u001b[30m\u001b[100m\u001b[100m\u001b[30m\u001b[37m\u001b[0m\u001b[37m\u001b[100m\u001b[47m\u001b[30m 16:21:03\u001b[0m\u001b[30m\u001b[47m\u001b[47m\u001b[30m\u001b[0m\u001b[30m\u001b[47m\u001b[47m\u001b[30m \u001b[0m\u001b[30m\u001b[47m\u001b[49m\u001b[39m\r\n\u001b[0m\u001b[49m\u001b[39m\u001b[0m\u001b[49m\u001b[38;5;76m❯\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[38;5;76m\u001b[0m\u001b[38;5;76m\u001b[49m\u001b[30m\u001b[0m\u001b[30m\u001b[49m\u001b[39m \u001b[0m\u001b[49m\u001b[39m\u001b[K"]
[78.575897, "o", "\u001b[?1h\u001b="]
[78.576674, "o", "\u001b[?2004h"]
[79.792381, "o", "\u001b[?2004l\r\r\n"]