@@ -24,6 +24,7 @@ pub trait Printer {
2424 fn print_footer(&mut self, handle: &mut Write) -> Result<()>;
2525 fn print_line(
2626 &mut self,
27+ out_of_range: bool,
2728 handle: &mut Write,
2829 line_number: usize,
2930 line_buffer: &[u8],
@@ -49,11 +50,14 @@ impl Printer for SimplePrinter {
4950
5051 fn print_line(
5152 &mut self,
53+ out_of_range: bool,
5254 handle: &mut Write,
5355 _line_number: usize,
5456 line_buffer: &[u8],
5557 ) -> Result<()> {
56− handle.write(line_buffer)?;
58+ if !out_of_range {
59+ handle.write(line_buffer)?;
60+ }
5761 Ok(())
5862 }
5963}
@@ -188,6 +192,7 @@ impl<'a> Printer for InteractivePrinter<'a> {
188192
189193 fn print_line(
190194 &mut self,
195+ out_of_range: bool,
191196 handle: &mut Write,
192197 line_number: usize,
193198 line_buffer: &[u8],
@@ -195,6 +200,10 @@ impl<'a> Printer for InteractivePrinter<'a> {
195200 let line = String::from_utf8_lossy(&line_buffer);
196201 let regions = self.highlighter.highlight(line.as_ref());
197202
203+ if out_of_range {
204+ return Ok(());
205+ }
206+
198207 let mut cursor: usize = 0;
199208 let mut cursor_max: usize = self.config.term_width;
200209 let mut panel_wrap: Option<String> = None;