This commit is contained in:
n4n5
2024-06-19 09:08:10 +02:00
committed by andy.boot
parent 028ca1fdc7
commit 08e4240b41
10 changed files with 55 additions and 11 deletions
+6
View File
@@ -193,6 +193,12 @@ pub fn build_cli() -> Command {
.action(clap::ArgAction::SetTrue)
.help("Disable the progress indication."),
)
.arg(
Arg::new("print_errors")
.long("print-errors")
.action(clap::ArgAction::SetTrue)
.help("Print path with errors."),
)
.arg(
Arg::new("only_dir")
.short('D')
+5
View File
@@ -31,6 +31,7 @@ pub struct Config {
pub stack_size: Option<usize>,
pub threads: Option<usize>,
pub output_json: Option<bool>,
pub print_errors: Option<bool>,
}
impl Config {
@@ -102,6 +103,10 @@ impl Config {
pub fn get_only_dir(&self, options: &ArgMatches) -> bool {
Some(true) == self.only_dir || options.get_flag("only_dir")
}
pub fn get_print_errors(&self, options: &ArgMatches) -> bool {
Some(true) == self.print_errors || options.get_flag("print_errors")
}
pub fn get_only_file(&self, options: &ArgMatches) -> bool {
Some(true) == self.only_file || options.get_flag("only_file")
}
+13 -7
View File
@@ -262,13 +262,19 @@ fn main() {
eprintln!("No such file or directory: {}", err);
}
if !final_errors.no_permissions.is_empty() {
let err = final_errors
.no_permissions
.iter()
.map(|a| a.as_ref())
.collect::<Vec<&str>>()
.join(", ");
eprintln!("Did not have permissions for directories: {}", err);
if config.get_print_errors(&options) {
let err = final_errors
.no_permissions
.iter()
.map(|a| a.as_ref())
.collect::<Vec<&str>>()
.join(", ");
eprintln!("Did not have permissions for directories: {}", err);
} else {
eprintln!(
"Did not have permissions for all directories (add --print-errors to see errors)"
);
}
}
if !final_errors.unknown_error.is_empty() {
let err = final_errors