mirror of
https://github.com/sharkdp/hexyl.git
synced 2026-10-30 09:05:54 +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>,
|
buffer_line: Vec<u8>,
|
||||||
stdout: StdoutLock<'a>,
|
stdout: StdoutLock<'a>,
|
||||||
show_color: bool,
|
show_color: bool,
|
||||||
|
header_was_printed: bool,
|
||||||
byte_hex_table: Vec<String>,
|
byte_hex_table: Vec<String>,
|
||||||
byte_char_table: Vec<String>,
|
byte_char_table: Vec<String>,
|
||||||
}
|
}
|
||||||
@@ -100,6 +101,7 @@ impl<'a> Printer<'a> {
|
|||||||
buffer_line: vec![],
|
buffer_line: vec![],
|
||||||
stdout,
|
stdout,
|
||||||
show_color,
|
show_color,
|
||||||
|
header_was_printed: false,
|
||||||
byte_hex_table: (0u8..=u8::max_value())
|
byte_hex_table: (0u8..=u8::max_value())
|
||||||
.map(|i| {
|
.map(|i| {
|
||||||
let byte_hex = format!("{:02x} ", i);
|
let byte_hex = format!("{:02x} ", i);
|
||||||
@@ -160,7 +162,12 @@ impl<'a> Printer<'a> {
|
|||||||
8 => {
|
8 => {
|
||||||
let _ = write!(&mut self.buffer_line, "┊ ");
|
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 stdout = io::stdout();
|
||||||
let mut printer = Printer::new(stdout.lock(), show_color);
|
let mut printer = Printer::new(stdout.lock(), show_color);
|
||||||
printer.header();
|
|
||||||
|
|
||||||
let mut buffer = [0; BUFFER_SIZE];
|
let mut buffer = [0; BUFFER_SIZE];
|
||||||
'mainloop: loop {
|
'mainloop: loop {
|
||||||
|
|||||||
Reference in new issue
Block a user