schnauzer/output/
hex.rs

1use crate::result::Result;
2use colored::Colorize;
3use kex::*;
4use std::io::stdout;
5
6use crate::Section;
7
8pub(crate) fn dump_section(sect: &Section) -> Result<()> {
9    let config = Config::new(
10        Some(AddressFormatter::new(
11            AddressStyle::Hex(16),
12            Separators::new("", &": ".green().to_string()),
13        )),
14        ByteFormatter::new(
15            Default::default(),
16            Groupping::RepeatingGroup(Group::new(4, " "), 4),
17            Default::default(),
18            sect.endian.is_little(),
19            Default::default(),
20        ),
21        Some(CharFormatter::new(".".dimmed().to_string(), Default::default())),
22        false
23    );
24    
25    let mut printer = Printer::new(stdout(), sect.addr.0 as usize, config);
26
27    let result = sect.read_data_to(&mut printer);
28    printer.finish();
29
30    result
31}