mirror of
https://github.com/crate-ci/typos.git
synced 2024-11-22 09:01:04 -05:00
feat: Give control over ignoring hidden files
This commit is contained in:
parent
166e2630c0
commit
867c53043b
1 changed files with 18 additions and 1 deletions
19
src/main.rs
19
src/main.rs
|
@ -32,6 +32,7 @@ impl Default for Format {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
#[derive(Debug, StructOpt)]
|
||||||
|
#[structopt(rename_all = "kebab-case")]
|
||||||
struct Options {
|
struct Options {
|
||||||
#[structopt(parse(from_os_str), default_value = ".")]
|
#[structopt(parse(from_os_str), default_value = ".")]
|
||||||
/// Paths to check
|
/// Paths to check
|
||||||
|
@ -47,6 +48,12 @@ struct Options {
|
||||||
#[structopt(short = "j", long = "threads", default_value = "0")]
|
#[structopt(short = "j", long = "threads", default_value = "0")]
|
||||||
/// The approximate number of threads to use.
|
/// The approximate number of threads to use.
|
||||||
threads: usize,
|
threads: usize,
|
||||||
|
|
||||||
|
#[structopt(long, raw(overrides_with = r#""no-hidden""#))]
|
||||||
|
/// Search hidden files and directories.
|
||||||
|
hidden: bool,
|
||||||
|
#[structopt(long, raw(overrides_with = r#""hidden""#), raw(hidden = "true"))]
|
||||||
|
no_hidden: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Options {
|
impl Options {
|
||||||
|
@ -57,6 +64,15 @@ impl Options {
|
||||||
|
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn ignore_hidden(&self) -> Option<bool> {
|
||||||
|
match (self.hidden, self.no_hidden) {
|
||||||
|
(true, false) => Some(false),
|
||||||
|
(false, true) => Some(true),
|
||||||
|
(false, false) => None,
|
||||||
|
(_, _) => unreachable!("StructOpt should make this impossible"),
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run() -> Result<(), failure::Error> {
|
fn run() -> Result<(), failure::Error> {
|
||||||
|
@ -72,7 +88,8 @@ fn run() -> Result<(), failure::Error> {
|
||||||
for path in &options.path[1..] {
|
for path in &options.path[1..] {
|
||||||
walk.add(path);
|
walk.add(path);
|
||||||
}
|
}
|
||||||
walk.threads(options.threads);
|
walk.threads(options.threads)
|
||||||
|
.hidden(options.ignore_hidden().unwrap_or(true));
|
||||||
// TODO Add build_parallel for options.threads != 1
|
// TODO Add build_parallel for options.threads != 1
|
||||||
for entry in walk.build() {
|
for entry in walk.build() {
|
||||||
let entry = entry?;
|
let entry = entry?;
|
||||||
|
|
Loading…
Reference in a new issue