diff --git a/examples/yaml.rs b/examples/yaml.rs new file mode 100644 index 00000000..0bfc94db --- /dev/null +++ b/examples/yaml.rs @@ -0,0 +1,33 @@ +/// A program that serializes a Rust structure to YAML and pretty-prints the result +use bat::PrettyPrinter; +use serde::Serialize; + +#[derive(Serialize)] +struct Person { + name: String, + height: f64, + adult: bool, + children: Vec, +} + +fn main() { + let person = Person { + name: String::from("Anne Mustermann"), + height: 1.76f64, + adult: true, + children: vec![Person { + name: String::from("Max Mustermann"), + height: 1.32f64, + adult: false, + children: vec![], + }], + }; + + let bytes = serde_yaml::to_vec(&person).unwrap(); + PrettyPrinter::new() + .language("yaml") + .line_numbers(true) + .input_from_bytes(&bytes) + .print() + .unwrap(); +}