mirror of
https://github.com/sharkdp/hexyl.git
synced 2026-10-26 20:16:34 +00:00
Fixes #47 with header printing before data in some scenarios
This commit is contained in:
1 parent
8725f8cd25
commit
10e3535999
1 file changed
+8
-2
+8
-2
@@ -88,6 +88,7 @@ struct Printer<'a> {
|
||||
buffer_line: Vec<u8>,
|
||||
stdout: StdoutLock<'a>,
|
||||
show_color: bool,
|
||||
header_was_printed: bool,
|
||||
byte_hex_table: Vec<String>,
|
||||
byte_char_table: Vec<String>,
|
||||
}
|
||||
@@ -100,6 +101,7 @@ impl<'a> Printer<'a> {
|
||||
buffer_line: vec![],
|
||||
stdout,
|
||||
show_color,
|
||||
header_was_printed: false,
|
||||
byte_hex_table: (0u8..=u8::max_value())
|
||||
.map(|i| {
|
||||
let byte_hex = format!("{:02x} ", i);
|
||||
@@ -160,7 +162,12 @@ impl<'a> Printer<'a> {
|
||||
8 => {
|
||||
let _ = write!(&mut self.buffer_line, "┊ ");
|
||||
}
|
||||
0 => self.print_textline()?,
|
||||
0 => {
|
||||
if !self.header_was_printed {
|
||||
self.header();
|
||||
}
|
||||
self.print_textline()?;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
@@ -286,7 +293,6 @@ fn run() -> Result<(), Box<::std::error::Error>> {
|
||||
|
||||
let stdout = io::stdout();
|
||||
let mut printer = Printer::new(stdout.lock(), show_color);
|
||||
printer.header();
|
||||
|
||||
let mut buffer = [0; BUFFER_SIZE];
|
||||
'mainloop: loop {
|
||||
|
||||
Reference in new issue
Block a user