#[macro_export]
macro_rules! format_error {
($theme:expr, $($arg:tt)*) => {
format!("{}{}", $theme.error.apply("[Error] "), format!($($arg)*))
}
}
#[macro_export]
macro_rules! format_msg {
($theme:expr, $($arg:tt)*) => {
format!("{}{}", $theme.accent.apply("-> "), format!($($arg)*))
}
}
#[macro_export]
macro_rules! using {
($($v:vis $p:ident),* $(,)?) => {
$(
mod $p;
$v use self::$p::*;
)*
}
}
pub trait VersionExt {
fn to_tag(&self) -> String;
}
impl VersionExt for semver::Version {
fn to_tag(&self) -> String {
format!("v{self}")
}
}
using! {
pub process,
pub string,
pub tags,
pub fuzzy,
pub variable,
pub widget,
pub history,
pub completion,
pub import_export,
pub installation,
pub markdown,
}