supercli/output/
macros.rs1#[cfg(feature = "clap")]
7use starbase_styles::color::owo::OwoColorize;
8use starbase_styles::color::{caution, failure, label, success, symbol as style_symbol};
9
10pub fn success_impl(message: &str, symbol: &str) {
12 #[cfg(feature = "clap")]
13 {
14 match crate::clap::get_output_style() {
15 "none" => println!("{symbol} {message}"),
16 "monochrome" => println!("{} {}", symbol.bold(), message.bold()),
17 _ => println!("{} {}", style_symbol(symbol), success(message)), }
19 }
20 #[cfg(not(feature = "clap"))]
21 {
22 println!("{} {}", style_symbol(symbol), success(message));
23 }
24}
25
26#[macro_export]
36macro_rules! success {
37 ($msg:expr) => {
38 $crate::output::macros::success_impl($msg, $crate::output::symbols::CHECK_MARK)
39 };
40 ($msg:expr, $symbol:expr) => {
41 $crate::output::macros::success_impl($msg, $symbol)
42 };
43}
44
45pub fn warning_impl(message: &str, symbol: &str) {
47 #[cfg(feature = "clap")]
48 {
49 match crate::clap::get_output_style() {
50 "none" => println!("{symbol} {message}"),
51 "monochrome" => println!("{} {}", symbol.bold(), message.bold()),
52 _ => println!("{} {}", style_symbol(symbol), caution(message)), }
54 }
55 #[cfg(not(feature = "clap"))]
56 {
57 println!("{} {}", style_symbol(symbol), caution(message));
58 }
59}
60
61#[macro_export]
71macro_rules! warning {
72 ($msg:expr) => {
73 $crate::output::macros::warning_impl($msg, $crate::output::symbols::WARNING_SIGN)
74 };
75 ($msg:expr, $symbol:expr) => {
76 $crate::output::macros::warning_impl($msg, $symbol)
77 };
78}
79
80pub fn info_impl(message: &str, symbol: &str) {
82 #[cfg(feature = "clap")]
83 {
84 match crate::clap::get_output_style() {
85 "none" => println!("{symbol} {message}"),
86 "monochrome" => println!("{} {}", symbol.bold(), message.bold()),
87 _ => println!("{} {}", style_symbol(symbol), label(message)), }
89 }
90 #[cfg(not(feature = "clap"))]
91 {
92 println!("{} {}", style_symbol(symbol), label(message));
93 }
94}
95
96#[macro_export]
107macro_rules! info {
108 ($msg:expr) => {
109 $crate::output::macros::info_impl($msg, $crate::output::symbols::INFORMATION)
110 };
111 ($msg:expr, $symbol:expr) => {
112 $crate::output::macros::info_impl($msg, $symbol)
113 };
114}
115
116pub fn error_impl(message: &str, symbol: &str) {
118 #[cfg(feature = "clap")]
119 {
120 match crate::clap::get_output_style() {
121 "none" => println!("{symbol} {message}"),
122 "monochrome" => println!("{} {}", symbol.bold(), message.bold()),
123 _ => println!("{} {}", style_symbol(symbol), failure(message)), }
125 }
126 #[cfg(not(feature = "clap"))]
127 {
128 println!("{} {}", style_symbol(symbol), failure(message));
129 }
130}
131
132#[macro_export]
142macro_rules! error {
143 ($msg:expr) => {
144 $crate::output::macros::error_impl($msg, $crate::output::symbols::CROSS_MARK)
145 };
146 ($msg:expr, $symbol:expr) => {
147 $crate::output::macros::error_impl($msg, $symbol)
148 };
149}