mod utils;
use {
anstream::println,
compris::{annotate::*, normal::*},
depiction::*,
};
pub fn main() {
let variant: Variant<Annotations> = normal_list![
normal_list![-1, "element", 1.5],
normal_map![("key1", "value1"), ("key2", normal_list![-3, "another element", 1.6])],
normal_map![(normal_map![("complex_key", "complex_value")], 123456)]
];
utils::heading("print_default_depiction", true);
variant.print_default_depiction();
utils::heading("print_depiction (verbose)", false);
variant.print_depiction(&DEFAULT_DEPICTION_CONTEXT.child().with_format(DepictionFormat::Verbose));
utils::heading("print_depiction (compact)", false);
variant.print_depiction(&DEFAULT_DEPICTION_CONTEXT.child().with_format(DepictionFormat::Compact));
utils::heading("print_plain_depiction", false);
variant.print_plain_depiction();
utils::heading("write_default_depiction", false);
let mut writer = anstream::stdout();
variant.write_default_depiction(&mut writer).expect("write_default_depiction");
let string = variant.to_plain_depiction().expect("to_plain_depiction");
utils::heading("to_plain_depiction", false);
println!("{}", string);
}