reusable-fmt

RUST

Reusable format strings for std::fmt macros

Initial Release

This crate provides compile-time defined format string support for std::fmt macros like write!, print!, format!, etc.

Installation

Cargo.toml: toml [dependencies] reusable-fmt = { git = https://github.com/rupansh/reusable-fmt }

src.rs: rust use reusable_fmt::*;

Example Usage

```rust use reusable_fmt:*;

// This defines your format strings fmt_reuse! { TEST1 = "This is a test! {}"; TEST2 = "You can pass multiple format args! {} {}"; TEST3 = r#"Raw Strings work too!! {}"#; TEST4 = "Named args {arg}"; TEST5 = "Positional args {1} {0}"; TEST6 = "Mixed {} {2} {1} {arg}"; }

fn main() { prntln!(TEST, "Hello World"); // This is a test! Hello World let test = fmt!(TEST6, "Hello", "Test", "World", arg="Named"); // Mixed Hello World Test Named prntln!("{}", "WOW This works too!"); } ```

Why

Contribution

Feel free to request and implement features. I am not that good with macros so code improvements are welcome too!

Testing

Tests should be run on nightly

cargo +nightly test

Documentation

Documentation should be compiled on nightly

cargo +nightly doc