Skip to main content

Crate formatter_builder

Crate formatter_builder 

Source
Expand description

The safe and stable builder for fmt::Formatter

Due to unstable Formatter::new, uses this crate to dynamically build a Formatter.

§Examples

use formatter_builder::{FormatterBuilder, Fill, Sign, Alignment};

let mut output = String::new();
let n = 6.23;
formatter_builder::FormatterBuilder::new()
    .width(8)
    .align(Alignment::Right)
    .precision(3)
    .fill(Fill::Zero)
    .with(&mut output, |f| {
        std::fmt::Display::fmt(&n, f)
    })
    .unwrap();
assert_eq!(output, "0006.230")
use std::fmt::{Display, Formatter, Result};
use formatter_builder::FormatterBuilder;

struct Foo(f32);
impl Display for Foo {
    fn fmt(&self, f: &mut Formatter<'_>) -> Result {
        FormatterBuilder::from_formatter_lossy(f)
            .precision(2)
            .with(f, |f| self.0.fmt(f))
    }
}

Structs§

FormatterBuilder
Formatter safe builder.
TryFromCharError

Enums§

Alignment
Possible alignments returned by Formatter::align
Fill
Formatter fill character.
Sign
The signedness of a Formatter.