Skip to main content

turtle_build/run/
log.rs

1/// Logs a debug message.
2#[macro_export]
3macro_rules! debug {
4    ($context:expr, $console:expr, $template:literal, $($value:expr),+) => {
5        if $context.options().debug {
6            $crate::log!($console, $template, $($value),+);
7        }
8    };
9}
10
11/// Logs a profile message.
12#[macro_export]
13macro_rules! profile {
14    ($context:expr, $console:expr, $template:literal, $($value:expr),+) => {
15        if $context.options().profile {
16            $crate::log!($console, $template, $($value),+);
17        }
18    };
19}
20
21/// Logs a message.
22#[macro_export]
23macro_rules! log {
24    ($console:expr, $template:literal, $($value:expr),+) => {
25        $console.write_stderr(
26            ("turtle: ".to_owned() + &format!($template, $($value),+)).as_bytes(),
27        ).await?;
28        $console.write_stderr("\n".as_bytes()).await?;
29    };
30}