html terminal
Diffstat (limited to 'src/logging.rs')
| -rw-r--r-- | src/logging.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/logging.rs b/src/logging.rs new file mode 100644 index 0000000..c21a80b --- /dev/null +++ b/src/logging.rs @@ -0,0 +1,45 @@ +#[macro_export] +macro_rules! define_print { + ($name:ident, $start:expr) => { + paste::paste!( + #[allow(unused_macros)] + macro_rules! $name { + () => {{ + #[cfg(debug_assertions)] + println!($start) + }}; + ($fmt:literal) => {{ + #[cfg(debug_assertions)] + println!(concat!($start, " {}"), format!($fmt)) + }}; + } + ); + }; + ($name:ident, $start:expr, $b:expr) => { + paste::paste!( + #[allow(unused_macros)] + macro_rules! $name { + () => {{ + #[cfg(debug_assertions)] + println!($start); + $b + }}; + ($fmt:literal) => {{ + #[cfg(debug_assertions)] + println!(concat!($start, " {}"), format!($fmt)); + $b + }}; + } + ); + }; + ($prefix:expr) => { + define_print!(cont, concat!($prefix, " ", ">>"), continue); + define_print!(fail, concat!($prefix, " ", "!!"), break); + define_print!(flush, concat!($prefix, " ", "<<")); + define_print!(noinput, concat!($prefix, " ", "!<")); + define_print!(nooutput, concat!($prefix, " ", "!>")); + define_print!(nextiter, concat!($prefix, " ", "--")); + define_print!(input, concat!($prefix, " ", "<")); + define_print!(output, concat!($prefix, " ", ">")); + }; +} |