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}