[](https://crates.io/crates/mufmt)
[](https://docs.rs/mufmt/)
> [!WARNING]
> μfmt is **very unstable**
>
> The public API is undecided, and the error implementation will probably be refactored.
> Moreover, the template implementation may change without notice.
> It is not recommended to use this crate for anything serious until (at the very least) an initial `0.1.0` release.
>
> On the other hand, a lot of the work is already done and the implementation is quite robust.
> Feel free to try this out, and you are welcome to open an issue with any ideas, recommendations, or problems you have while using this crate.
# μfmt
μfmt (`mufmt`) is a minimal and extensible runtime formatting library.
μfmt allows arbitrary types to define a formatting syntax and compiled template format.
μfmt also provides a number of built-in formats, backed by data stored in collection types like `HashMap` or `Vec`.
Please read the [API docs](https://docs.rs/mufmt/) for more detail.
## In progress
- Improve error messages to include detail about where the error occurred within the template.
- Allow compiling a template from an `io::Write`.
- Add a `json` feature, and decide on an `Ast` which can query a `serde_json::Value`.
- Implement an `Ast` for function call chains (like `{ a().b().c() }`; or maybe using s-expressions?).