1pub mod cast;
2pub mod expand_states;
3pub mod iterable;
4pub mod ivec;
5pub mod ready_chunks;
6pub mod safemap;
7pub mod safeset;
8pub use iterable::Iterable;
9pub use ivec::IVec;
10
11#[macro_export]
16macro_rules! action_info {
17 ($thing:expr, $action:expr) => {
19 tracing::info!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m", $thing, $action)
20 };
21 ($thing:expr, $action:expr, $($arg:expr),+) => {
23 tracing::info!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m \x1b[2m{}\x1b[0m", $thing, $action, format!("{}", format_args!($($arg),+)))
24 };
25}
26
27#[macro_export]
28macro_rules! action_debug {
29 ($thing:expr, $action:expr) => {
31 tracing::debug!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m", $thing, $action)
32 };
33 ($thing:expr, $action:expr, $($arg:expr),+) => {
35 tracing::debug!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m \x1b[2m{}\x1b[0m", $thing, $action, format!("{}", format_args!($($arg),+)))
36 };
37}
38
39#[macro_export]
40macro_rules! action_warn {
41 ($thing:expr, $action:expr) => {
43 tracing::warn!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m", $thing, $action)
44 };
45 ($thing:expr, $action:expr, $($arg:expr),+) => {
47 tracing::warn!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m \x1b[2m{}\x1b[0m", $thing, $action, format!("{}", format_args!($($arg),+)))
48 };
49}
50
51#[macro_export]
52macro_rules! action_error {
53 ($thing:expr, $action:expr) => {
55 tracing::error!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m", $thing, $action)
56 };
57 ($thing:expr, $action:expr, $($arg:expr),+) => {
59 tracing::error!("\x1b[1;34m{}\x1b[0m → \x1b[32m{}\x1b[0m \x1b[2m{}\x1b[0m", $thing, $action, format!("{}", format_args!($($arg),+)))
60 };
61}
62
63#[macro_export]
66macro_rules! notice_info {
67 ($($arg:tt)*) => {
68 tracing::info!("\x1b[1;33m{}\x1b[0m", format!($($arg)*))
69 };
70}