#![doc = include_str!("../README.md")]
#![doc(html_logo_url = "https://raw.githubusercontent.com/azur1s/vari/master/assets/vari_logo.png")]
pub mod anchor;
pub mod util;
#[cfg(feature = "fun")]
pub mod fun;
#[cfg(feature = "colorize")]
pub mod colorize;
#[cfg(feature = "log")]
pub mod log;
pub fn format(message: &str) -> String {
anchor::compile_anchor(anchor::split_anchor(message.to_string()))
}
#[macro_export]
macro_rules! vformat {
($($arg:tt)*) => {{
let formatted = std::fmt::format(std::format_args!($($arg)*));
let result = vari::format(formatted.as_str());
result
}}
}
#[macro_export]
macro_rules! vprint {
($($arg:tt)*) => {{
let formatted = std::fmt::format(std::format_args!($($arg)*));
let result = vari::format(formatted.as_str());
print!("{}", result);
}}
}
#[macro_export]
macro_rules! vprintln {
() => {{
println();
}};
($($arg:tt)*) => {{
let formatted = std::fmt::format(std::format_args!($($arg)*));
let result = vari::format(formatted.as_str());
println!("{}", result);
}}
}
#[macro_export]
macro_rules! here {
() => {{
&vformat!("[$dim]{}:{}:{}[$/]", file!(), line!(), column!())
}}
}