mirror of
https://github.com/sharkdp/hexyl.git
synced 2026-10-30 09:05:54 +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::DeriveDisplayOrder)
|
||||||
.setting(AppSettings::UnifiedHelpMessage)
|
.setting(AppSettings::UnifiedHelpMessage)
|
||||||
.version(crate_version!())
|
.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 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 stdout = io::stdout();
|
||||||
let mut printer = Printer::new(stdout.lock());
|
let mut printer = Printer::new(stdout.lock());
|
||||||
printer.header();
|
printer.header();
|
||||||
|
|
||||||
|
let mut buffer = [0; BUFFER_SIZE];
|
||||||
loop {
|
loop {
|
||||||
let size = file.read(&mut buffer)?;
|
let size = reader.read(&mut buffer)?;
|
||||||
if size == 0 {
|
if size == 0 {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user