rformat 0.2.0

Runtime formatting library
Documentation
/// Prelude for rformat: convenient imports for formatting macros and traits.
pub use crate::{
    fmt::format::{param, params},
    formattable::*,
};

/// Macro for formatting strings at runtime using rformat's formatting engine.
///
/// Usage:
///
/// ```
/// # use rformat::prelude::*;
/// let name = "trisin";
/// let greeting = "Hi there";
/// rformat!("Hello, {}!", name);
/// rformat!("{greeting}, {name}!", greeting, name);
/// ```
///
/// This macro supports both positional and named arguments, and parses the format string at runtime.
#[macro_export]
macro_rules! _rformat {
    ($fmt:expr) => {
        $crate::fmt::format::format_string($fmt, &[])
    };
    ($fmt:expr, $($args:tt)*) => {
        $crate::fmt::format::format_string($fmt, &$crate::fmt::format::params![$($args)*])
    };
}

/// User-facing macro for formatting strings at runtime (see [`_rformat`]).
pub use _rformat as rformat;