mirror of
https://github.com/crate-ci/typos.git
synced 2024-11-25 18:41:05 -05:00
Merge pull request #837 from Delgan/GH-347-add-force-exclude
Add "--force-exclude" option
This commit is contained in:
commit
2303689282
8 changed files with 26 additions and 3 deletions
|
@ -3,7 +3,7 @@
|
|||
description: Source code spell checker, binary install
|
||||
language: python
|
||||
entry: typos
|
||||
args: [--write-changes]
|
||||
args: [--write-changes, --force-exclude]
|
||||
types: [text]
|
||||
stages: [commit, merge-commit, push, manual]
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
|||
description: Source code spell checker, Docker image
|
||||
language: docker
|
||||
entry: typos
|
||||
args: [--write-changes]
|
||||
args: [--write-changes, --force-exclude]
|
||||
types: [text]
|
||||
stages: [commit, merge-commit, push, manual]
|
||||
|
||||
|
@ -21,6 +21,6 @@
|
|||
description: Source code spell checker, source install
|
||||
language: rust
|
||||
entry: typos
|
||||
args: [--write-changes]
|
||||
args: [--write-changes, --force-exclude]
|
||||
types: [text]
|
||||
stages: [commit, merge-commit, push, manual]
|
||||
|
|
|
@ -46,6 +46,10 @@ pub(crate) struct Args {
|
|||
#[arg(short = 'j', long = "threads", default_value = "0")]
|
||||
pub(crate) threads: usize,
|
||||
|
||||
/// Respect excluded files even for paths passed explicitly.
|
||||
#[arg(long, help_heading = None)]
|
||||
pub(crate) force_exclude: bool,
|
||||
|
||||
/// Custom config file
|
||||
#[arg(short = 'c', long = "config", help_heading = "Config")]
|
||||
pub(crate) custom_config: Option<std::path::PathBuf>,
|
||||
|
|
|
@ -216,6 +216,11 @@ fn run_checks(args: &args::Args) -> proc_exit::ExitResult {
|
|||
let overrides = overrides
|
||||
.build()
|
||||
.with_code(proc_exit::sysexits::CONFIG_ERR)?;
|
||||
if args.force_exclude {
|
||||
if let ignore::Match::Ignore(_) = overrides.matched(path, path.is_dir()) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
walk.overrides(overrides);
|
||||
}
|
||||
|
||||
|
|
5
crates/typos-cli/tests/cmd/force-exclude.in/_typos.toml
Normal file
5
crates/typos-cli/tests/cmd/force-exclude.in/_typos.toml
Normal file
|
@ -0,0 +1,5 @@
|
|||
[files]
|
||||
extend-exclude = ["file.ignore"]
|
||||
|
||||
[default.extend-identifiers]
|
||||
hello = "goodbye"
|
1
crates/typos-cli/tests/cmd/force-exclude.in/file.ignore
Normal file
1
crates/typos-cli/tests/cmd/force-exclude.in/file.ignore
Normal file
|
@ -0,0 +1 @@
|
|||
hello
|
6
crates/typos-cli/tests/cmd/force-exclude.toml
Normal file
6
crates/typos-cli/tests/cmd/force-exclude.toml
Normal file
|
@ -0,0 +1,6 @@
|
|||
bin.name = "typos"
|
||||
args = "file.ignore --force-exclude"
|
||||
stdin = ""
|
||||
stdout = ""
|
||||
stderr = ""
|
||||
status.code = 0
|
|
@ -10,6 +10,7 @@ Arguments:
|
|||
|
||||
Options:
|
||||
-j, --threads <THREADS> The approximate number of threads to use [default: 0]
|
||||
--force-exclude Respect excluded files even for paths passed explicitly
|
||||
-h, --help Print help
|
||||
-V, --version Print version
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ Configuration is read from the following (in precedence order)
|
|||
|------------------------|-------------------|--------|-------------|
|
||||
| files.binary | --binary | bool | Check binary files as text |
|
||||
| files.extend-exclude | --exclude | list of strings | Typos-specific ignore globs (gitignore syntax) |
|
||||
| file.force-excude | --force-exclude | bool | Respect excluded files even for paths passed explicitly. |
|
||||
| files.ignore-hidden | --hidden | bool | Skip hidden files and directories. |
|
||||
| files.ignore-files | --ignore | bool | Respect ignore files. |
|
||||
| files.ignore-dot | --ignore-dot | bool | Respect .ignore files. |
|
||||
|
|
Loading…
Reference in a new issue