summaryrefslogtreecommitdiffstats
path: root/src/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/macros.rs')
-rw-r--r--src/macros.rs66
1 files changed, 49 insertions, 17 deletions
diff --git a/src/macros.rs b/src/macros.rs
index 2b1de62..40c37cf 100644
--- a/src/macros.rs
+++ b/src/macros.rs
@@ -1,20 +1,4 @@
#[macro_export]
-macro_rules! printerr {
- ($($arg:tt)*) => ({
- use std::io::{Write, stderr};
- use crossterm::{execute};
- use crossterm::style::{Print, SetForegroundColor, ResetColor, Color};
- execute!(
- stderr(),
- SetForegroundColor(Color::Red),
- Print("✖ ".to_string()),
- Print($($arg)*.to_string()),
- ResetColor
- ).ok();
- })
-}
-
-#[macro_export]
macro_rules! print_error {
($skin: expr, $md: literal $(, $value: expr )* $(,)? ) => {{
use lazy_static::lazy_static;
@@ -39,7 +23,55 @@ macro_rules! print_notice {
let err = &mut std::io::stderr();
let p = $skin.paragraph.clone();
$skin.paragraph.set_fg(crossterm::style::Color::Yellow);
- termimad::mad_write_inline!(err, $skin, "✖ ").map_err(Error::from)?;
+ termimad::mad_write_inline!(err, $skin, "➜ ").map_err(Error::from)?;
+ $skin.write_composite(err, mad_inline!($md $(, $value)*)).map_err(Error::from)?;
+ $skin.paragraph = p;
+ Ok::<(), Error>(())
+ }};
+}
+
+#[macro_export]
+macro_rules! print_success {
+ ($skin: expr, $md: literal $(, $value: expr )* $(,)? ) => {{
+ use lazy_static::lazy_static;
+ use minimad::mad_inline;
+ use crate::error::Error;
+ let err = &mut std::io::stderr();
+ let p = $skin.paragraph.clone();
+ $skin.paragraph.set_fg(crossterm::style::Color::Green);
+ termimad::mad_write_inline!(err, $skin, "✔ ").map_err(Error::from)?;
+ $skin.write_composite(err, mad_inline!($md $(, $value)*)).map_err(Error::from)?;
+ $skin.paragraph = p;
+ Ok::<(), Error>(())
+ }};
+}
+
+#[macro_export]
+macro_rules! print_log {
+ ($skin: expr, $md: literal $(, $value: expr )* $(,)? ) => {{
+ use lazy_static::lazy_static;
+ use minimad::mad_inline;
+ use crate::error::Error;
+ let err = &mut std::io::stderr();
+ let p = $skin.paragraph.clone();
+ $skin.paragraph.set_fg(crossterm::style::Color::Blue);
+ termimad::mad_write_inline!(err, $skin, "• ").map_err(Error::from)?;
+ $skin.write_composite(err, mad_inline!($md $(, $value)*)).map_err(Error::from)?;
+ $skin.paragraph = p;
+ Ok::<(), Error>(())
+ }};
+}
+
+#[macro_export]
+macro_rules! print_warn {
+ ($skin: expr, $md: literal $(, $value: expr )* $(,)? ) => {{
+ use lazy_static::lazy_static;
+ use minimad::mad_inline;
+ use crate::error::Error;
+ let err = &mut std::io::stderr();
+ let p = $skin.paragraph.clone();
+ $skin.paragraph.set_fg(crossterm::style::Color::Magenta);
+ termimad::mad_write_inline!(err, $skin, "⚡").map_err(Error::from)?;
$skin.write_composite(err, mad_inline!($md $(, $value)*)).map_err(Error::from)?;
$skin.paragraph = p;
Ok::<(), Error>(())