mirror of
https://github.com/sharkdp/bat.git
synced 2025-09-04 04:12:31 +01:00
@@ -23,13 +23,18 @@ impl<'b> Controller<'b> {
|
||||
let writer = output_type.handle()?;
|
||||
let mut no_errors: bool = true;
|
||||
|
||||
let stdin = io::stdin();
|
||||
|
||||
for input_file in &self.config.files {
|
||||
let mut reader = input_file.get_reader(&stdin)?;
|
||||
|
||||
let result = if self.config.loop_through {
|
||||
let mut printer = SimplePrinter::new();
|
||||
self.print_file(&mut printer, writer, *input_file)
|
||||
self.print_file(reader, &mut printer, writer, *input_file)
|
||||
} else {
|
||||
let mut printer = InteractivePrinter::new(&self.config, &self.assets, *input_file);
|
||||
self.print_file(&mut printer, writer, *input_file)
|
||||
let mut printer =
|
||||
InteractivePrinter::new(&self.config, &self.assets, *input_file, &mut reader);
|
||||
self.print_file(reader, &mut printer, writer, *input_file)
|
||||
};
|
||||
|
||||
if let Err(error) = result {
|
||||
@@ -43,13 +48,11 @@ impl<'b> Controller<'b> {
|
||||
|
||||
fn print_file<'a, P: Printer>(
|
||||
&self,
|
||||
reader: InputFileReader,
|
||||
printer: &mut P,
|
||||
writer: &mut Write,
|
||||
input_file: InputFile<'a>,
|
||||
) -> Result<()> {
|
||||
let stdin = io::stdin();
|
||||
let reader = input_file.get_reader(&stdin)?;
|
||||
|
||||
printer.print_header(writer, input_file)?;
|
||||
self.print_file_ranges(printer, writer, reader, &self.config.line_range)?;
|
||||
printer.print_footer(writer)?;
|
||||
|
Reference in New Issue
Block a user