mirror of
https://github.com/sharkdp/fd
synced 2024-10-06 07:49:18 +00:00
Refactor to for-loop
This commit is contained in:
parent
fef1b91feb
commit
42719624a8
43
src/main.rs
43
src/main.rs
|
@ -75,31 +75,26 @@ fn run() -> Result<ExitCode> {
|
|||
.unwrap_or("");
|
||||
|
||||
// Get one or more root directories to search.
|
||||
let mut dir_vec: Vec<_> = match matches
|
||||
let passed_arguments = matches
|
||||
.values_of_os("path")
|
||||
.or_else(|| matches.values_of_os("search-path"))
|
||||
{
|
||||
Some(paths) => paths
|
||||
.map(|path| {
|
||||
let path_buffer = PathBuf::from(path);
|
||||
if filesystem::is_dir(&path_buffer) {
|
||||
Ok(path_buffer)
|
||||
} else {
|
||||
Err(anyhow!(
|
||||
"Search path '{}' is not a directory.",
|
||||
path_buffer.to_string_lossy()
|
||||
))
|
||||
}
|
||||
})
|
||||
.inspect(|res| {
|
||||
if let Err(e) = res {
|
||||
print_error(format!("{}", e))
|
||||
}
|
||||
})
|
||||
.filter_map(Result::ok)
|
||||
.collect::<Vec<_>>(),
|
||||
None => vec![current_directory.to_path_buf()],
|
||||
};
|
||||
.or_else(|| matches.values_of_os("search-path"));
|
||||
|
||||
// Assign current directory to search vector.
|
||||
let mut dir_vec: Vec<_> = vec![current_directory.to_path_buf()];
|
||||
|
||||
// Assign any valid arguments to search vector.
|
||||
if let Some(paths) = passed_arguments {
|
||||
dir_vec = vec![];
|
||||
for path in paths {
|
||||
let path_buffer = PathBuf::from(path);
|
||||
if filesystem::is_dir(&path_buffer) {
|
||||
dir_vec.push(path_buffer);
|
||||
}
|
||||
else {
|
||||
print_error(format!("Search path '{}' is not a directory.", path_buffer.to_string_lossy()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if matches.is_present("absolute-path") {
|
||||
dir_vec = dir_vec
|
||||
|
|
Loading…
Reference in a new issue