mirror of
https://github.com/sharkdp/hexyl.git
synced 2026-10-26 20:16:31 +00:00
Possibility to read from stdin
This commit is contained in:
1 parent
4b7c44c207
commit
01860bcaf0
1 file changed
+9
-5
+9
-5
@@ -174,21 +174,25 @@ fn run() -> io::Result<()> {
|
||||
.setting(AppSettings::DeriveDisplayOrder)
|
||||
.setting(AppSettings::UnifiedHelpMessage)
|
||||
.version(crate_version!())
|
||||
.arg(Arg::with_name("file").help("to do").required(true));
|
||||
.arg(Arg::with_name("file").help("to do"));
|
||||
|
||||
let matches = app.get_matches();
|
||||
|
||||
let filename = matches.value_of("file").unwrap();
|
||||
let stdin = io::stdin();
|
||||
|
||||
let mut reader: Box<dyn Read> = match matches.value_of("file") {
|
||||
Some(filename) => Box::new(File::open(filename)?),
|
||||
None => Box::new(stdin.lock()),
|
||||
};
|
||||
|
||||
let mut buffer = [0; BUFFER_SIZE];
|
||||
let mut file = File::open(filename)?;
|
||||
|
||||
let stdout = io::stdout();
|
||||
let mut printer = Printer::new(stdout.lock());
|
||||
printer.header();
|
||||
|
||||
let mut buffer = [0; BUFFER_SIZE];
|
||||
loop {
|
||||
let size = file.read(&mut buffer)?;
|
||||
let size = reader.read(&mut buffer)?;
|
||||
if size == 0 {
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user