kvfmt 0.1.5

A helper macro for stringifying variables into a key=value style string
Documentation

kvfmt="valuable"

Latest Version Rust Documentation

This library provides a convenient macro generating structured logging-esque strings with a minimalistic syntax.

[dependencies]
kvfmt = "0.1"

Example

use kvfmt::kvfmt;

fn main() {
    let dir = "/var/log";
    let paths = vec!["dmesg", "syslog"];

    assert_eq!(
        "dir=/var/log paths=[\"dmesg\", \"syslog\"]",
        kvfmt!(dir, ?paths)
    );
}

Details

  • This macro supports any number of identifiers, optionally prefixed with a ? to indicate that it should be formatted with the Debug trait rather than the Display trait which is the default.
    • kvfmt!(dir)format!("dir={}", dir)
    • kvfmt!(?dir)format!("dir={:?}", dir)

License

Credits

A special thanks to Nika for helping me write the macro and David whose wonderful README style I continously steal for all of my projects.