on bce304a help sign in
bat/examples/yaml.rs
35 lines 865 B history raw
1/// A program that serializes a Rust structure to YAML and pretty-prints the result
2use bat::{Input, PrettyPrinter};
3use serde::Serialize;
5#[derive(Serialize)]
6struct Person {
7 name: String,
8 height: f64,
9 adult: bool,
10 children: Vec<Person>,
13fn main() {
14 let person = Person {
15 name: String::from("Anne Mustermann"),
16 height: 1.76f64,
17 adult: true,
18 children: vec![Person {
19 name: String::from("Max Mustermann"),
20 height: 1.32f64,
21 adult: false,
22 children: vec![],
23 }],
24 };
26 let bytes = serde_yaml::to_vec(&person).unwrap();
27 PrettyPrinter::new()
28 .language("yaml")
29 .line_numbers(true)
30 .grid(true)
31 .header(true)
32 .input(Input::from_bytes(&bytes).name("person.yaml").kind("File"))
33 .print()
34 .unwrap();