mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-28 04:45:01 +00:00
Fix docs and add overlap test for negated per-file-ignores (#10863)
Refs #3172 ## Summary Fix a typo in the docs example, and add a test for the case where a negative pattern and a positive pattern overlap. The behavior here is simple: patterns (positive or negative) are always additive if they hit (i.e. match for a positive pattern, don't match for a negated pattern). We never "un-ignore" previously-ignored rules based on a pattern (positive or negative) failing to hit. It's simple enough that I don't really see other cases we need to add tests for (the tests we have cover all branches in the ignores_from_path function that implements the core logic), but open to reviewer feedback. I also didn't end up changing the docs to explain this more, because I think they are accurate as written and don't wrongly imply any more complex behavior. Open to reviewer feedback on this as well! After some discussion, I think allowing negative patterns to un-ignore rules is too confusing and easy to get wrong; if we need that, we should add `per-file-selects` instead. ## Test Plan Test/docs only change; tests pass, docs render and look right. --------- Co-authored-by: Alex Waygood <Alex.Waygood@gmail.com>
This commit is contained in:
parent
7ae15c6e0a
commit
563daa8a86
2 changed files with 37 additions and 1 deletions
|
@ -916,7 +916,7 @@ pub struct LintCommonOptions {
|
|||
"__init__.py" = ["E402"]
|
||||
"path/to/file.py" = ["E402"]
|
||||
# Ignore `D` rules everywhere except for the `src/` directory.
|
||||
"!src/**.py" = ["F401"]
|
||||
"!src/**.py" = ["D"]
|
||||
"#
|
||||
)]
|
||||
pub per_file_ignores: Option<FxHashMap<String, Vec<RuleSelector>>>,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue