on master help sign in
use io::Empty instead of crafted dummy stdin struct
f28d9dbrhysd
src/controller.rs+2−15
@@ -1,4 +1,4 @@
1−use std::io::{self, BufRead, Read, Write};
1+use std::io::{self, BufRead, Write};
2
2
3use crate::assets::HighlightingAssets;
3use crate::assets::HighlightingAssets;
4use crate::config::{Config, VisibleLines};
4use crate::config::{Config, VisibleLines};
@@ -16,19 +16,6 @@ use crate::printer::{InteractivePrinter, Printer, SimplePrinter};
16
16
17use clircle::{Clircle, Identifier};
17use clircle::{Clircle, Identifier};
18
18
19−struct DummyStdin;
20−impl Read for DummyStdin {
21− fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
22− Ok(buf.len())
23− }
24−}
25−impl BufRead for DummyStdin {
26− fn fill_buf(&mut self) -> io::Result<&[u8]> {
27− Ok(&[])
28− }
29− fn consume(&mut self, _amt: usize) {}
30−}
31−
32pub struct Controller<'a> {
19pub struct Controller<'a> {
33 config: &'a Config<'a>,
20 config: &'a Config<'a>,
34 assets: &'a HighlightingAssets,
21 assets: &'a HighlightingAssets,
@@ -98,7 +85,7 @@ impl<'b> Controller<'b> {
98 self.print_input(input, writer, io::stdin().lock(), identifier, is_first)
85 self.print_input(input, writer, io::stdin().lock(), identifier, is_first)
99 } else {
86 } else {
100 // Use dummy stdin since stdin is actually not used (#1902)
87 // Use dummy stdin since stdin is actually not used (#1902)
101− self.print_input(input, writer, DummyStdin, identifier, is_first)
88+ self.print_input(input, writer, io::empty(), identifier, is_first)
102 };
89 };
103 if let Err(error) = result {
90 if let Err(error) = result {
104 if attached_to_pager {
91 if attached_to_pager {