mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-31 15:12:12 +00:00 
			
		
		
		
	Add print_with_writer to PrettyPrint
This commit is contained in:
		| @@ -279,6 +279,11 @@ impl<'a> PrettyPrinter<'a> { | |||||||
|     /// If you want to call 'print' multiple times, you have to call the appropriate |     /// If you want to call 'print' multiple times, you have to call the appropriate | ||||||
|     /// input_* methods again. |     /// input_* methods again. | ||||||
|     pub fn print(&mut self) -> Result<bool> { |     pub fn print(&mut self) -> Result<bool> { | ||||||
|  |         self.print_with_writer(None::<&mut dyn std::fmt::Write>) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /// Pretty-print all specified inputs to a specified writer. | ||||||
|  |     pub fn print_with_writer<W: std::fmt::Write>(&mut self, writer: Option<W>) -> Result<bool> { | ||||||
|         let highlight_lines = std::mem::take(&mut self.highlighted_lines); |         let highlight_lines = std::mem::take(&mut self.highlighted_lines); | ||||||
|         self.config.highlighted_lines = HighlightedLineRanges(LineRanges::from(highlight_lines)); |         self.config.highlighted_lines = HighlightedLineRanges(LineRanges::from(highlight_lines)); | ||||||
|         self.config.term_width = self |         self.config.term_width = self | ||||||
| @@ -315,9 +320,15 @@ impl<'a> PrettyPrinter<'a> { | |||||||
|  |  | ||||||
|         // Run the controller |         // Run the controller | ||||||
|         let controller = Controller::new(&self.config, &self.assets); |         let controller = Controller::new(&self.config, &self.assets); | ||||||
|  |  | ||||||
|  |         // If writer is provided, pass it to the controller, otherwise pass None | ||||||
|  |         if let Some(mut w) = writer { | ||||||
|  |             controller.run(inputs.into_iter().map(|i| i.into()).collect(), Some(&mut w)) | ||||||
|  |         } else { | ||||||
|             controller.run(inputs.into_iter().map(|i| i.into()).collect(), None) |             controller.run(inputs.into_iter().map(|i| i.into()).collect(), None) | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | } | ||||||
|  |  | ||||||
| impl Default for PrettyPrinter<'_> { | impl Default for PrettyPrinter<'_> { | ||||||
|     fn default() -> Self { |     fn default() -> Self { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user