summaryrefslogtreecommitdiffstats
path: root/src/args.rs
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2018-04-23 18:18:44 -0400
committerAndrew Gallant <jamslam@gmail.com>2018-04-23 18:18:44 -0400
commit0ee0b160b583715b2c4629978695f3567cb6fc09 (patch)
tree46dae50fb3e6efb70e6f06e3856a8c1e3eb23833 /src/args.rs
parentb4781e2f91c0ea561fe8a8cb80cfae3aae9bfffb (diff)
logging: add new --no-ignore-messages flag
The new --no-ignore-messages flag permits suppressing errors related to parsing .gitignore or .ignore files. These error messages can be somewhat annoying since they can surface from repositories that one has no control over. Fixes #646
Diffstat (limited to 'src/args.rs')
-rw-r--r--src/args.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/args.rs b/src/args.rs
index 2bbabf1a..96abec27 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -63,6 +63,7 @@ pub struct Args {
maxdepth: Option<usize>,
mmap: bool,
no_ignore: bool,
+ no_ignore_messages: bool,
no_ignore_parent: bool,
no_ignore_vcs: bool,
no_messages: bool,
@@ -308,6 +309,12 @@ impl Args {
self.no_messages
}
+ /// Returns true if error messages associated with parsing .ignore or
+ /// .gitignore files should be suppressed.
+ pub fn no_ignore_messages(&self) -> bool {
+ self.no_ignore_messages
+ }
+
/// Create a new recursive directory iterator over the paths in argv.
pub fn walker(&self) -> ignore::Walk {
self.walker_builder().build()
@@ -327,7 +334,7 @@ impl Args {
}
for path in &self.ignore_files {
if let Some(err) = wd.add_ignore(path) {
- if !self.no_messages {
+ if !self.no_messages && !self.no_ignore_messages {
eprintln!("{}", err);
}
}
@@ -402,6 +409,7 @@ impl<'a> ArgMatches<'a> {
maxdepth: self.usize_of("maxdepth")?,
mmap: mmap,
no_ignore: self.no_ignore(),
+ no_ignore_messages: self.is_present("no-ignore-messages"),
no_ignore_parent: self.no_ignore_parent(),
no_ignore_vcs: self.no_ignore_vcs(),
no_messages: self.is_present("no-messages"),