on master help sign in
Add YAML example
commit5f826419d13e74fcdea851947364a1d5d69d152e authorsharkdp <davidpeter@web.de> dateWed 22 Apr 2020, 21:42 (7 years ago) parent13f671b
1 file changed+33
examples/yaml.rs+33
examples/yaml.rsnew file+33
@@ -0,0 +1,33 @@
1+/// A program that serializes a Rust structure to YAML and pretty-prints the result
2+use bat::PrettyPrinter;
3+use serde::Serialize;
4+
5+#[derive(Serialize)]
6+struct Person {
7+ name: String,
8+ height: f64,
9+ adult: bool,
10+ children: Vec<Person>,
11+}
12+
13+fn 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+ };
25+
26+ let bytes = serde_yaml::to_vec(&person).unwrap();
27+ PrettyPrinter::new()
28+ .language("yaml")
29+ .line_numbers(true)
30+ .input_from_bytes(&bytes)
31+ .print()
32+ .unwrap();
33+}