1use std::fs::File;
2use std::io::Write;
3
4use ron::ser::{to_string_pretty, PrettyConfig};
5
6use notation_proto::prelude::*;
7
8pub fn convert_tab(tab: &Tab) -> String {
9 let pretty = PrettyConfig::new()
10 .separate_tuple_members(true)
11 .enumerate_arrays(true);
12 to_string_pretty(&tab, pretty).expect("Serialization failed")
13}
14
15pub fn print_tab(tab: &Tab) {
16 let s = convert_tab(tab);
17 println!("{}", s);
18}
19
20pub fn write_tab(tab: &Tab, path: &'static str) {
21 let s = convert_tab(tab);
22 let mut file = File::create(path).unwrap();
23 file.write_all(s.as_bytes()).unwrap();
24 println!("Tab written to: `{}` [{}] - {}", path, s.len(), tab);
25}