diff --git a/src/common.rs b/src/common.rs new file mode 100644 index 0000000..fae5447 --- /dev/null +++ b/src/common.rs @@ -0,0 +1,38 @@ +use colored::Colorize; + +pub enum ExitCode { + ParseError = 2, + FilesystemError = 3, + RepositoryError = 4, + RemoteError = 5, + PushError = 6, + FetchError = 7, + ConfigError = 8, + HaltError = 130, +} + +pub struct ReturnData { + pub code: ExitCode, + pub msg: String, +} + +pub fn error(msg: String) { + eprintln!("{} {}", "error:".red().bold(), msg); +} + +pub fn warning(msg: String) { + eprintln!("{} {}", "warning:".yellow().bold(), msg) +} + +pub fn verbose(level: u8, msg_lvl: u8, msg: String) { + if level < msg_lvl { + return; + }; + let mut prefix = String::new(); + for _ in 0..msg_lvl { + prefix += "="; + } + + prefix += "> "; + eprintln!("{}{}", prefix.purple().bold(), msg); +}