diff options
author | sharkdp <davidpeter@web.de> | 2020-04-22 21:42:09 +0200 |
---|---|---|
committer | David Peter <sharkdp@users.noreply.github.com> | 2020-04-22 23:55:28 +0200 |
commit | 5f826419d13e74fcdea851947364a1d5d69d152e (patch) | |
tree | 00e196df6af1aaeb3805c1ceafb4b427395ef7f6 /examples | |
parent | 13f671b49984ff68ca77e213429f00173b8a6755 (diff) |
Add YAML example
Diffstat (limited to 'examples')
-rw-r--r-- | examples/yaml.rs | 33 |
1 files changed, 33 insertions, 0 deletions
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<Person>, +} + +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(); +} |