add line-range

This commit is contained in:
Taylor Skinner authored and David Peter committed 2018-06-12 08:18:44 +02:00
1 parent 50209bfe21
commit 6691786d82
3 files changed
+55 -3

No files matched your search

+14 -1
View File
@@ -96,12 +96,25 @@ fn print_file(
printer.print_header(filename)?;
let mut buffer = Vec::new();
while reader.read_until(b'\n', &mut buffer)? > 0 {
{
let line = String::from_utf8_lossy(&buffer);
let regions = highlighter.highlight(line.as_ref());
printer.print_line(&regions)?;
if printer.config.line_range.is_some() {
if printer.line_number + 1 < printer.config.line_range.unwrap().0 {
// skip line
printer.line_number += 1;
} else if printer.line_number >= printer.config.line_range.unwrap().1 {
// no more lines in range
break;
} else {
printer.print_line(&regions)?;
}
} else {
printer.print_line(&regions)?;
}
}
buffer.clear();
}