global_placeholders 0.1.0

Simple magic placeholders
Documentation
#[macro_export]
macro_rules! init {
    ($path:expr, $value:expr) => {{
        $crate::registry::Registry::set($path.to_string(), $value.to_string())
    }};
}

#[macro_export]
macro_rules! global {
    ($path:expr $(, $args:expr)*) => {{
        let template = $crate::registry::Registry::get($path.to_string());

        let mut result = String::new();
        let mut args_iter = vec![$($args),*].into_iter();
        let mut next_arg = || args_iter.next().unwrap_or("");
        let mut chars = template.chars().peekable();

        while let Some(c) = chars.next() {
            if c == '{' {
                if let Some(&'}') = chars.peek() {
                    chars.next();
                    result.push_str(&next_arg());
                } else {
                    result.push(c);
                }
            } else {
                result.push(c);
            }
        }

        result
    }};
}