mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-28 21:05:08 +00:00
[flake8-boolean-trap
] Add setting for user defined allowed boolean trap (#10531)
## Summary Add a setting `extend-allowed-calls` to allow users to define their own list of calls which allow boolean traps. Resolves #10485. Resolves #10356. ## Test Plan Extended text fixture and added setting test.
This commit is contained in:
parent
9f56902719
commit
3c48913473
13 changed files with 288 additions and 49 deletions
|
@ -40,10 +40,11 @@ use ruff_python_formatter::{
|
|||
};
|
||||
|
||||
use crate::options::{
|
||||
Flake8AnnotationsOptions, Flake8BanditOptions, Flake8BugbearOptions, Flake8BuiltinsOptions,
|
||||
Flake8ComprehensionsOptions, Flake8CopyrightOptions, Flake8ErrMsgOptions, Flake8GetTextOptions,
|
||||
Flake8ImplicitStrConcatOptions, Flake8ImportConventionsOptions, Flake8PytestStyleOptions,
|
||||
Flake8QuotesOptions, Flake8SelfOptions, Flake8TidyImportsOptions, Flake8TypeCheckingOptions,
|
||||
Flake8AnnotationsOptions, Flake8BanditOptions, Flake8BooleanTrapOptions, Flake8BugbearOptions,
|
||||
Flake8BuiltinsOptions, Flake8ComprehensionsOptions, Flake8CopyrightOptions,
|
||||
Flake8ErrMsgOptions, Flake8GetTextOptions, Flake8ImplicitStrConcatOptions,
|
||||
Flake8ImportConventionsOptions, Flake8PytestStyleOptions, Flake8QuotesOptions,
|
||||
Flake8SelfOptions, Flake8TidyImportsOptions, Flake8TypeCheckingOptions,
|
||||
Flake8UnusedArgumentsOptions, FormatOptions, IsortOptions, LintCommonOptions, LintOptions,
|
||||
McCabeOptions, Options, Pep8NamingOptions, PyUpgradeOptions, PycodestyleOptions,
|
||||
PydocstyleOptions, PyflakesOptions, PylintOptions,
|
||||
|
@ -292,6 +293,10 @@ impl Configuration {
|
|||
.flake8_bandit
|
||||
.map(Flake8BanditOptions::into_settings)
|
||||
.unwrap_or_default(),
|
||||
flake8_boolean_trap: lint
|
||||
.flake8_boolean_trap
|
||||
.map(Flake8BooleanTrapOptions::into_settings)
|
||||
.unwrap_or_default(),
|
||||
flake8_bugbear: lint
|
||||
.flake8_bugbear
|
||||
.map(Flake8BugbearOptions::into_settings)
|
||||
|
@ -609,6 +614,7 @@ pub struct LintConfiguration {
|
|||
// Plugins
|
||||
pub flake8_annotations: Option<Flake8AnnotationsOptions>,
|
||||
pub flake8_bandit: Option<Flake8BanditOptions>,
|
||||
pub flake8_boolean_trap: Option<Flake8BooleanTrapOptions>,
|
||||
pub flake8_bugbear: Option<Flake8BugbearOptions>,
|
||||
pub flake8_builtins: Option<Flake8BuiltinsOptions>,
|
||||
pub flake8_comprehensions: Option<Flake8ComprehensionsOptions>,
|
||||
|
@ -713,6 +719,7 @@ impl LintConfiguration {
|
|||
// Plugins
|
||||
flake8_annotations: options.common.flake8_annotations,
|
||||
flake8_bandit: options.common.flake8_bandit,
|
||||
flake8_boolean_trap: options.common.flake8_boolean_trap,
|
||||
flake8_bugbear: options.common.flake8_bugbear,
|
||||
flake8_builtins: options.common.flake8_builtins,
|
||||
flake8_comprehensions: options.common.flake8_comprehensions,
|
||||
|
@ -1127,6 +1134,7 @@ impl LintConfiguration {
|
|||
// Plugins
|
||||
flake8_annotations: self.flake8_annotations.combine(config.flake8_annotations),
|
||||
flake8_bandit: self.flake8_bandit.combine(config.flake8_bandit),
|
||||
flake8_boolean_trap: self.flake8_boolean_trap.combine(config.flake8_boolean_trap),
|
||||
flake8_bugbear: self.flake8_bugbear.combine(config.flake8_bugbear),
|
||||
flake8_builtins: self.flake8_builtins.combine(config.flake8_builtins),
|
||||
flake8_comprehensions: self
|
||||
|
@ -1358,6 +1366,10 @@ fn warn_about_deprecated_top_level_lint_options(
|
|||
used_options.push("flake8-bandit");
|
||||
}
|
||||
|
||||
if top_level_options.flake8_boolean_trap.is_some() {
|
||||
used_options.push("flake8-boolean-trap");
|
||||
}
|
||||
|
||||
if top_level_options.flake8_bugbear.is_some() {
|
||||
used_options.push("flake8-bugbear");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue