summaryrefslogtreecommitdiffstats
path: root/src/writer.rs
diff options
context:
space:
mode:
authorRyan Geary <rtgnj42@gmail.com>2020-06-24 21:08:15 -0400
committerRyan Geary <rtgnj42@gmail.com>2020-06-24 22:15:08 -0400
commit67ddbec6b59f8b79ca958bca2ce7cdf0507c3fdb (patch)
tree195e963fa1e6496f09525a316d444481fe6879b0 /src/writer.rs
parent2ee77aa848be60acdf75b02cf2a8c0ff97196ad1 (diff)
Use LineWriter when input is stdin (#10)feature/print-lines-when-stdin-is-pipe
Diffstat (limited to 'src/writer.rs')
-rw-r--r--src/writer.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/writer.rs b/src/writer.rs
index 00a93a1..cf30ee7 100644
--- a/src/writer.rs
+++ b/src/writer.rs
@@ -1,14 +1,9 @@
-use std::io::{BufWriter, Write};
+use std::io::{BufWriter, LineWriter, Write};
use crate::config::Config;
use crate::writeable::Writeable;
-pub trait WriteReceiver {
- fn write_choice<Wa: Writeable>(&mut self, b: Wa, config: &Config, print_separator: bool);
- fn write_separator(&mut self, config: &Config);
-}
-
-impl<W: Write> WriteReceiver for BufWriter<W> {
+pub trait WriteReceiver: Write {
fn write_choice<Wa: Writeable>(&mut self, b: Wa, config: &Config, print_separator: bool) {
let num_bytes_written = match self.write(&b.to_byte_buf()) {
Ok(x) => x,
@@ -29,3 +24,7 @@ impl<W: Write> WriteReceiver for BufWriter<W> {
}
}
}
+
+impl<W: Write> WriteReceiver for BufWriter<W> {}
+
+impl<W: Write> WriteReceiver for LineWriter<W> {}