mirror of
https://github.com/sharkdp/hexyl.git
synced 2026-10-28 08:05:52 +00:00
Alter when position panel is called
This commit is contained in:
1 parent
074bc791c2
commit
664025477b
1 file changed
+25
-29
+25
-29
@@ -358,30 +358,32 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
.encode_utf8(&mut [0; 4])
|
.encode_utf8(&mut [0; 4])
|
||||||
.as_bytes(),
|
.as_bytes(),
|
||||||
)?;
|
)?;
|
||||||
match self.squeezer {
|
if self.show_position_panel {
|
||||||
Squeezer::Print => {
|
match self.squeezer {
|
||||||
self.writer
|
Squeezer::Print => {
|
||||||
.write_all(self.byte_char_panel_g[b'*' as usize].as_bytes())?;
|
|
||||||
self.writer.write_all(b" ")?;
|
|
||||||
}
|
|
||||||
Squeezer::Ignore | Squeezer::Disabled | Squeezer::Delete => {
|
|
||||||
let byte_index: [u8; 8] = (self.idx + self.display_offset).to_be_bytes();
|
|
||||||
let mut i = 0;
|
|
||||||
while byte_index[i] == 0x0 && i < 4 {
|
|
||||||
i += 1;
|
|
||||||
}
|
|
||||||
for &byte in byte_index.iter().skip(i) {
|
|
||||||
self.writer
|
self.writer
|
||||||
.write_all(self.byte_hex_panel_g[byte as usize].as_bytes())?;
|
.write_all(self.byte_char_panel_g[b'*' as usize].as_bytes())?;
|
||||||
|
self.writer.write_all(b" ")?;
|
||||||
|
}
|
||||||
|
Squeezer::Ignore | Squeezer::Disabled | Squeezer::Delete => {
|
||||||
|
let byte_index: [u8; 8] = (self.idx + self.display_offset).to_be_bytes();
|
||||||
|
let mut i = 0;
|
||||||
|
while byte_index[i] == 0x0 && i < 4 {
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
|
for &byte in byte_index.iter().skip(i) {
|
||||||
|
self.writer
|
||||||
|
.write_all(self.byte_hex_panel_g[byte as usize].as_bytes())?;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
self.writer.write_all(
|
||||||
|
self.border_style
|
||||||
|
.outer_sep()
|
||||||
|
.encode_utf8(&mut [0; 4])
|
||||||
|
.as_bytes(),
|
||||||
|
)?;
|
||||||
}
|
}
|
||||||
self.writer.write_all(
|
|
||||||
self.border_style
|
|
||||||
.outer_sep()
|
|
||||||
.encode_utf8(&mut [0; 4])
|
|
||||||
.as_bytes(),
|
|
||||||
)?;
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,9 +500,7 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
self.squeezer = Squeezer::Ignore;
|
self.squeezer = Squeezer::Ignore;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if self.show_position_panel {
|
self.print_position_panel()?;
|
||||||
self.print_position_panel()?;
|
|
||||||
}
|
|
||||||
self.print_bytes()?;
|
self.print_bytes()?;
|
||||||
if self.show_char_panel {
|
if self.show_char_panel {
|
||||||
self.print_char_panel()?;
|
self.print_char_panel()?;
|
||||||
@@ -540,9 +540,7 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
} else if matches!(self.squeezer, Squeezer::Print | Squeezer::Delete) {
|
} else if matches!(self.squeezer, Squeezer::Print | Squeezer::Delete) {
|
||||||
// input was squeezed at the end
|
// input was squeezed at the end
|
||||||
self.squeezer = Squeezer::Ignore;
|
self.squeezer = Squeezer::Ignore;
|
||||||
if self.show_position_panel {
|
self.print_position_panel()?;
|
||||||
self.print_position_panel()?;
|
|
||||||
}
|
|
||||||
|
|
||||||
self.squeezer = Squeezer::Print;
|
self.squeezer = Squeezer::Print;
|
||||||
|
|
||||||
@@ -555,9 +553,7 @@ impl<'a, Writer: Write> Printer<'a, Writer> {
|
|||||||
self.writer.write_all(b"\n")?;
|
self.writer.write_all(b"\n")?;
|
||||||
} else if let Some(n) = leftover {
|
} else if let Some(n) = leftover {
|
||||||
// last line is incomplete
|
// last line is incomplete
|
||||||
if self.show_position_panel {
|
self.print_position_panel()?;
|
||||||
self.print_position_panel()?;
|
|
||||||
}
|
|
||||||
self.print_bytes()?;
|
self.print_bytes()?;
|
||||||
self.squeezer = Squeezer::Print;
|
self.squeezer = Squeezer::Print;
|
||||||
for i in n..8 * self.panels as usize {
|
for i in n..8 * self.panels as usize {
|
||||||
|
|||||||
Reference in new issue
Block a user