2
0
mirror of https://github.com/sharkdp/bat synced 2024-11-18 15:26:16 +00:00

Remove Input.as_file and add Input::stdin_as_file

This commit is contained in:
Ethan P 2020-05-27 15:40:57 -07:00 committed by David Peter
parent c4d0d068e4
commit 7a9decad70
2 changed files with 14 additions and 8 deletions

View File

@ -257,7 +257,7 @@ impl App {
let files: Option<Vec<&OsStr>> = self.matches.values_of_os("FILE").map(|vs| vs.collect());
if files.is_none() {
let input = Input::stdin().as_file(filenames_or_none.next().unwrap_or(None));
let input = Input::stdin_as_file(filenames_or_none.next().unwrap_or(None));
return Ok(vec![input]);
}
let files_or_none: Box<dyn Iterator<Item = _>> = match files {
@ -269,9 +269,9 @@ impl App {
for (filepath, provided_name) in files_or_none.zip(filenames_or_none) {
if let Some(filepath) = filepath {
if filepath.to_str().unwrap_or_default() == "-" {
file_input.push(Input::stdin().as_file(provided_name));
file_input.push(Input::stdin_as_file(provided_name));
} else {
file_input.push(Input::ordinary_file(filepath).as_file(provided_name));
file_input.push(Input::ordinary_file(filepath).with_name(provided_name));
}
}
}

View File

@ -125,6 +125,17 @@ impl<'a> Input<'a> {
}
}
pub fn stdin_as_file(name: Option<impl AsRef<OsStr>>) -> Self {
match name {
None => Input::stdin(),
Some(name) => {
let mut input = Input::stdin().with_name(Some(name.as_ref()));
input.description.kind = Some("File".to_owned());
input
}
}
}
pub fn from_reader(reader: Box<dyn Read + 'a>) -> Self {
let kind = InputKind::CustomReader(reader);
Input {
@ -152,11 +163,6 @@ impl<'a> Input<'a> {
self
}
pub fn as_file(mut self, provided_name: Option<&OsStr>) -> Self {
self.description.kind = Some("File".to_owned());
self.with_name(provided_name)
}
pub fn description(&self) -> &InputDescription {
&self.description
}