mirror of
https://github.com/sharkdp/bat.git
synced 2025-02-22 12:58:26 +00:00
Add print_with_writer to PrettyPrint
This commit is contained in:
parent
937c59fca9
commit
b93a41a9a3
@ -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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user