mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-26 11:59:10 +00:00
parent
0eb5a22dd1
commit
c3917eab38
22 changed files with 20 additions and 371 deletions
2
LICENSE
2
LICENSE
|
@ -195,8 +195,6 @@ are:
|
|||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
"""
|
||||
|
||||
- flake8-i18n, licensed as "GNU General Public License v2 (GPLv2)".
|
||||
|
||||
- flake8-implicit-str-concat, licensed as follows:
|
||||
"""
|
||||
The MIT License (MIT)
|
||||
|
|
|
@ -248,7 +248,6 @@ quality tools, including:
|
|||
- [flake8-eradicate](https://pypi.org/project/flake8-eradicate/)
|
||||
- [flake8-errmsg](https://pypi.org/project/flake8-errmsg/)
|
||||
- [flake8-executable](https://pypi.org/project/flake8-executable/)
|
||||
- [flake8-i18n](https://pypi.org/project/flake8-i18n/)
|
||||
- [flake8-implicit-str-concat](https://pypi.org/project/flake8-implicit-str-concat/)
|
||||
- [flake8-import-conventions](https://github.com/joaopalmeiro/flake8-import-conventions)
|
||||
- [flake8-logging-format](https://pypi.org/project/flake8-logging-format/)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
_(f"{'value'}")
|
|
@ -1 +0,0 @@
|
|||
_("{}".format("line"))
|
|
@ -1 +0,0 @@
|
|||
_("%s" % "line")
|
|
@ -42,12 +42,11 @@ use crate::registry::{AsRule, Rule};
|
|||
use crate::rules::{
|
||||
flake8_2020, flake8_annotations, flake8_bandit, flake8_blind_except, flake8_boolean_trap,
|
||||
flake8_bugbear, flake8_builtins, flake8_comprehensions, flake8_datetimez, flake8_debugger,
|
||||
flake8_django, flake8_errmsg, flake8_i18n, flake8_implicit_str_concat,
|
||||
flake8_import_conventions, flake8_logging_format, flake8_pie, flake8_print, flake8_pyi,
|
||||
flake8_pytest_style, flake8_raise, flake8_return, flake8_self, flake8_simplify,
|
||||
flake8_tidy_imports, flake8_type_checking, flake8_unused_arguments, flake8_use_pathlib, mccabe,
|
||||
numpy, pandas_vet, pep8_naming, pycodestyle, pydocstyle, pyflakes, pygrep_hooks, pylint,
|
||||
pyupgrade, ruff, tryceratops,
|
||||
flake8_django, flake8_errmsg, flake8_implicit_str_concat, flake8_import_conventions,
|
||||
flake8_logging_format, flake8_pie, flake8_print, flake8_pyi, flake8_pytest_style, flake8_raise,
|
||||
flake8_return, flake8_self, flake8_simplify, flake8_tidy_imports, flake8_type_checking,
|
||||
flake8_unused_arguments, flake8_use_pathlib, mccabe, numpy, pandas_vet, pep8_naming,
|
||||
pycodestyle, pydocstyle, pyflakes, pygrep_hooks, pylint, pyupgrade, ruff, tryceratops,
|
||||
};
|
||||
use crate::settings::types::PythonVersion;
|
||||
use crate::settings::{flags, Settings};
|
||||
|
@ -2906,29 +2905,6 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
// flake8-i18n
|
||||
if self.settings.rules.any_enabled(&[
|
||||
Rule::FStringInI18NFuncCall,
|
||||
Rule::FormatInI18NFuncCall,
|
||||
Rule::PrintfInI18NFuncCall,
|
||||
]) && flake8_i18n::rules::is_i18n_func_call(
|
||||
func,
|
||||
&self.settings.flake8_i18n.functions_names,
|
||||
) {
|
||||
if self.settings.rules.enabled(Rule::FStringInI18NFuncCall) {
|
||||
self.diagnostics
|
||||
.extend(flake8_i18n::rules::f_string_in_i18n_func_call(args));
|
||||
}
|
||||
if self.settings.rules.enabled(Rule::FormatInI18NFuncCall) {
|
||||
self.diagnostics
|
||||
.extend(flake8_i18n::rules::format_in_i18n_func_call(args));
|
||||
}
|
||||
if self.settings.rules.enabled(Rule::PrintfInI18NFuncCall) {
|
||||
self.diagnostics
|
||||
.extend(flake8_i18n::rules::printf_in_i18n_func_call(args));
|
||||
}
|
||||
}
|
||||
|
||||
// flake8-simplify
|
||||
if self
|
||||
.settings
|
||||
|
|
|
@ -284,11 +284,6 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<Rule> {
|
|||
(Flake8Return, "507") => Rule::SuperfluousElseContinue,
|
||||
(Flake8Return, "508") => Rule::SuperfluousElseBreak,
|
||||
|
||||
// flake8-i18n
|
||||
(Flake8I18N, "001") => Rule::FStringInI18NFuncCall,
|
||||
(Flake8I18N, "002") => Rule::FormatInI18NFuncCall,
|
||||
(Flake8I18N, "003") => Rule::PrintfInI18NFuncCall,
|
||||
|
||||
// flake8-implicit-str-concat
|
||||
(Flake8ImplicitStrConcat, "001") => Rule::SingleLineImplicitStringConcatenation,
|
||||
(Flake8ImplicitStrConcat, "002") => Rule::MultiLineImplicitStringConcatenation,
|
||||
|
|
|
@ -628,10 +628,6 @@ ruff_macros::register_rules!(
|
|||
rules::flake8_raise::rules::UnnecessaryParenOnRaiseException,
|
||||
// flake8-self
|
||||
rules::flake8_self::rules::PrivateMemberAccess,
|
||||
// flake8-i18n
|
||||
rules::flake8_i18n::rules::FStringInI18NFuncCall,
|
||||
rules::flake8_i18n::rules::FormatInI18NFuncCall,
|
||||
rules::flake8_i18n::rules::PrintfInI18NFuncCall,
|
||||
// numpy
|
||||
rules::numpy::rules::NumpyDeprecatedTypeAlias,
|
||||
rules::numpy::rules::NumpyLegacyRandom,
|
||||
|
@ -782,9 +778,6 @@ pub enum Linter {
|
|||
/// [flake8-type-checking](https://pypi.org/project/flake8-type-checking/)
|
||||
#[prefix = "TCH"]
|
||||
Flake8TypeChecking,
|
||||
/// [flake8-i18n](https://pypi.org/project/flake8-i18n/)
|
||||
#[prefix = "INT"]
|
||||
Flake8I18N,
|
||||
/// [flake8-unused-arguments](https://pypi.org/project/flake8-unused-arguments/)
|
||||
#[prefix = "ARG"]
|
||||
Flake8UnusedArguments,
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
//! Rules from [flake8-i18n](https://pypi.org/project/flake8-i18n/).
|
||||
pub(crate) mod rules;
|
||||
pub mod settings;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::path::Path;
|
||||
|
||||
use anyhow::Result;
|
||||
use insta::assert_yaml_snapshot;
|
||||
use test_case::test_case;
|
||||
|
||||
use crate::registry::Rule;
|
||||
use crate::settings;
|
||||
use crate::test::test_path;
|
||||
|
||||
#[test_case(Rule::FStringInI18NFuncCall,Path::new("INT001.py"); "INT001")]
|
||||
#[test_case(Rule::FormatInI18NFuncCall, Path::new("INT002.py"); "INT002")]
|
||||
#[test_case(Rule::PrintfInI18NFuncCall, Path::new("INT003.py"); "INT003")]
|
||||
fn rules(rule_code: Rule, path: &Path) -> Result<()> {
|
||||
let snapshot = format!("{}_{}", rule_code.as_ref(), path.to_string_lossy());
|
||||
let diagnostics = test_path(
|
||||
Path::new("flake8_i18n").join(path).as_path(),
|
||||
&settings::Settings::for_rule(rule_code),
|
||||
)?;
|
||||
assert_yaml_snapshot!(snapshot, diagnostics);
|
||||
Ok(())
|
||||
}
|
||||
}
|
|
@ -1,91 +0,0 @@
|
|||
use rustpython_parser::ast::{Constant, Expr, ExprKind, Operator};
|
||||
|
||||
use ruff_diagnostics::{Diagnostic, Violation};
|
||||
use ruff_macros::{derive_message_formats, violation};
|
||||
use ruff_python_ast::types::Range;
|
||||
|
||||
#[violation]
|
||||
pub struct FStringInI18NFuncCall;
|
||||
|
||||
impl Violation for FStringInI18NFuncCall {
|
||||
#[derive_message_formats]
|
||||
fn message(&self) -> String {
|
||||
format!("f-string is resolved before function call; consider `_(\"string %s\") % arg`")
|
||||
}
|
||||
}
|
||||
|
||||
#[violation]
|
||||
pub struct FormatInI18NFuncCall;
|
||||
|
||||
impl Violation for FormatInI18NFuncCall {
|
||||
#[derive_message_formats]
|
||||
fn message(&self) -> String {
|
||||
format!("`format` method argument is resolved before function call; consider `_(\"string %s\") % arg`")
|
||||
}
|
||||
}
|
||||
#[violation]
|
||||
pub struct PrintfInI18NFuncCall;
|
||||
|
||||
impl Violation for PrintfInI18NFuncCall {
|
||||
#[derive_message_formats]
|
||||
fn message(&self) -> String {
|
||||
format!("printf-style format is resolved before function call; consider `_(\"string %s\") % arg`")
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns true if the [`Expr`] is an internationalization function call.
|
||||
pub fn is_i18n_func_call(func: &Expr, functions_names: &[String]) -> bool {
|
||||
if let ExprKind::Name { id, .. } = &func.node {
|
||||
functions_names.contains(id)
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
/// INT001
|
||||
pub fn f_string_in_i18n_func_call(args: &[Expr]) -> Option<Diagnostic> {
|
||||
if let Some(first) = args.first() {
|
||||
if matches!(first.node, ExprKind::JoinedStr { .. }) {
|
||||
return Some(Diagnostic::new(
|
||||
FStringInI18NFuncCall {},
|
||||
Range::from(first),
|
||||
));
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
/// INT002
|
||||
pub fn format_in_i18n_func_call(args: &[Expr]) -> Option<Diagnostic> {
|
||||
if let Some(first) = args.first() {
|
||||
if let ExprKind::Call { func, .. } = &first.node {
|
||||
if let ExprKind::Attribute { attr, .. } = &func.node {
|
||||
if attr == "format" {
|
||||
return Some(Diagnostic::new(FormatInI18NFuncCall {}, Range::from(first)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
/// INT003
|
||||
pub fn printf_in_i18n_func_call(args: &[Expr]) -> Option<Diagnostic> {
|
||||
if let Some(first) = args.first() {
|
||||
if let ExprKind::BinOp {
|
||||
op: Operator::Mod { .. },
|
||||
left,
|
||||
..
|
||||
} = &first.node
|
||||
{
|
||||
if let ExprKind::Constant {
|
||||
value: Constant::Str(_),
|
||||
..
|
||||
} = left.node
|
||||
{
|
||||
return Some(Diagnostic::new(PrintfInI18NFuncCall {}, Range::from(first)));
|
||||
}
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
|
@ -1,73 +0,0 @@
|
|||
use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use ruff_macros::{CacheKey, ConfigurationOptions};
|
||||
|
||||
#[derive(
|
||||
Debug, PartialEq, Eq, Serialize, Deserialize, Default, ConfigurationOptions, JsonSchema,
|
||||
)]
|
||||
#[serde(
|
||||
deny_unknown_fields,
|
||||
rename_all = "kebab-case",
|
||||
rename = "Flake8I18NOptions"
|
||||
)]
|
||||
pub struct Options {
|
||||
#[option(
|
||||
default = r#"["_", "gettext", "ngettext"]"#,
|
||||
value_type = "list[str]",
|
||||
example = r#"function-names = ["_", "gettext", "ngettext", "ugettetxt"]"#
|
||||
)]
|
||||
/// The function names to consider as internationalization calls.
|
||||
pub function_names: Option<Vec<String>>,
|
||||
#[option(
|
||||
default = r#"[]"#,
|
||||
value_type = "list[str]",
|
||||
example = r#"extend-function-names = ["ugettetxt"]"#
|
||||
)]
|
||||
#[serde(default)]
|
||||
/// Additional function names to consider as internationalization calls, in addition to those
|
||||
/// included in `function-names`.
|
||||
pub extend_function_names: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, CacheKey)]
|
||||
pub struct Settings {
|
||||
pub functions_names: Vec<String>,
|
||||
}
|
||||
|
||||
fn default_func_names() -> Vec<String> {
|
||||
["_", "gettext", "ngettext"]
|
||||
.iter()
|
||||
.map(std::string::ToString::to_string)
|
||||
.collect()
|
||||
}
|
||||
|
||||
impl Default for Settings {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
functions_names: default_func_names(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Options> for Settings {
|
||||
fn from(options: Options) -> Self {
|
||||
Self {
|
||||
functions_names: options
|
||||
.function_names
|
||||
.unwrap_or_else(default_func_names)
|
||||
.into_iter()
|
||||
.chain(options.extend_function_names)
|
||||
.collect(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Settings> for Options {
|
||||
fn from(settings: Settings) -> Self {
|
||||
Self {
|
||||
function_names: Some(settings.functions_names),
|
||||
extend_function_names: vec![],
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
source: crates/ruff/src/rules/flake8_i18n/mod.rs
|
||||
expression: diagnostics
|
||||
---
|
||||
- kind:
|
||||
name: FStringInI18NFuncCall
|
||||
body: "f-string is resolved before function call; consider `_(\"string %s\") % arg`"
|
||||
suggestion: ~
|
||||
fixable: false
|
||||
location:
|
||||
row: 1
|
||||
column: 2
|
||||
end_location:
|
||||
row: 1
|
||||
column: 14
|
||||
fix:
|
||||
edits: []
|
||||
parent: ~
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
source: crates/ruff/src/rules/flake8_i18n/mod.rs
|
||||
expression: diagnostics
|
||||
---
|
||||
- kind:
|
||||
name: FormatInI18NFuncCall
|
||||
body: "`format` method argument is resolved before function call; consider `_(\"string %s\") % arg`"
|
||||
suggestion: ~
|
||||
fixable: false
|
||||
location:
|
||||
row: 1
|
||||
column: 2
|
||||
end_location:
|
||||
row: 1
|
||||
column: 21
|
||||
fix:
|
||||
edits: []
|
||||
parent: ~
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
source: crates/ruff/src/rules/flake8_i18n/mod.rs
|
||||
expression: diagnostics
|
||||
---
|
||||
- kind:
|
||||
name: PrintfInI18NFuncCall
|
||||
body: "printf-style format is resolved before function call; consider `_(\"string %s\") % arg`"
|
||||
suggestion: ~
|
||||
fixable: false
|
||||
location:
|
||||
row: 1
|
||||
column: 2
|
||||
end_location:
|
||||
row: 1
|
||||
column: 15
|
||||
fix:
|
||||
edits: []
|
||||
parent: ~
|
||||
|
|
@ -14,7 +14,6 @@ pub mod flake8_debugger;
|
|||
pub mod flake8_django;
|
||||
pub mod flake8_errmsg;
|
||||
pub mod flake8_executable;
|
||||
pub mod flake8_i18n;
|
||||
pub mod flake8_implicit_str_concat;
|
||||
pub mod flake8_import_conventions;
|
||||
pub mod flake8_logging_format;
|
||||
|
|
|
@ -16,10 +16,9 @@ use crate::fs;
|
|||
use crate::rule_selector::RuleSelector;
|
||||
use crate::rules::{
|
||||
flake8_annotations, flake8_bandit, flake8_bugbear, flake8_builtins, flake8_comprehensions,
|
||||
flake8_errmsg, flake8_i18n, flake8_implicit_str_concat, flake8_import_conventions,
|
||||
flake8_pytest_style, flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking,
|
||||
flake8_unused_arguments, isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint,
|
||||
pyupgrade,
|
||||
flake8_errmsg, flake8_implicit_str_concat, flake8_import_conventions, flake8_pytest_style,
|
||||
flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking, flake8_unused_arguments,
|
||||
isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint, pyupgrade,
|
||||
};
|
||||
use crate::settings::options::Options;
|
||||
use crate::settings::types::{
|
||||
|
@ -76,7 +75,6 @@ pub struct Configuration {
|
|||
pub flake8_pytest_style: Option<flake8_pytest_style::settings::Options>,
|
||||
pub flake8_quotes: Option<flake8_quotes::settings::Options>,
|
||||
pub flake8_self: Option<flake8_self::settings::Options>,
|
||||
pub flake8_i18n: Option<flake8_i18n::settings::Options>,
|
||||
pub flake8_tidy_imports: Option<flake8_tidy_imports::options::Options>,
|
||||
pub flake8_type_checking: Option<flake8_type_checking::settings::Options>,
|
||||
pub flake8_unused_arguments: Option<flake8_unused_arguments::settings::Options>,
|
||||
|
@ -186,7 +184,6 @@ impl Configuration {
|
|||
flake8_builtins: options.flake8_builtins,
|
||||
flake8_comprehensions: options.flake8_comprehensions,
|
||||
flake8_errmsg: options.flake8_errmsg,
|
||||
flake8_i18n: options.flake8_i18n,
|
||||
flake8_implicit_str_concat: options.flake8_implicit_str_concat,
|
||||
flake8_import_conventions: options.flake8_import_conventions,
|
||||
flake8_pytest_style: options.flake8_pytest_style,
|
||||
|
@ -251,7 +248,6 @@ impl Configuration {
|
|||
flake8_builtins: self.flake8_builtins.or(config.flake8_builtins),
|
||||
flake8_comprehensions: self.flake8_comprehensions.or(config.flake8_comprehensions),
|
||||
flake8_errmsg: self.flake8_errmsg.or(config.flake8_errmsg),
|
||||
flake8_i18n: self.flake8_i18n.or(config.flake8_i18n),
|
||||
flake8_implicit_str_concat: self
|
||||
.flake8_implicit_str_concat
|
||||
.or(config.flake8_implicit_str_concat),
|
||||
|
|
|
@ -11,10 +11,9 @@ use crate::registry::Linter;
|
|||
use crate::rule_selector::{prefix_to_selector, RuleSelector};
|
||||
use crate::rules::{
|
||||
flake8_annotations, flake8_bandit, flake8_bugbear, flake8_builtins, flake8_comprehensions,
|
||||
flake8_errmsg, flake8_i18n, flake8_implicit_str_concat, flake8_import_conventions,
|
||||
flake8_pytest_style, flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking,
|
||||
flake8_unused_arguments, isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint,
|
||||
pyupgrade,
|
||||
flake8_errmsg, flake8_implicit_str_concat, flake8_import_conventions, flake8_pytest_style,
|
||||
flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking, flake8_unused_arguments,
|
||||
isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint, pyupgrade,
|
||||
};
|
||||
use crate::settings::types::FilePatternSet;
|
||||
|
||||
|
@ -89,7 +88,6 @@ impl Default for Settings {
|
|||
flake8_import_conventions: flake8_import_conventions::settings::Settings::default(),
|
||||
flake8_pytest_style: flake8_pytest_style::settings::Settings::default(),
|
||||
flake8_quotes: flake8_quotes::settings::Settings::default(),
|
||||
flake8_i18n: flake8_i18n::settings::Settings::default(),
|
||||
flake8_self: flake8_self::settings::Settings::default(),
|
||||
flake8_tidy_imports: flake8_tidy_imports::Settings::default(),
|
||||
flake8_type_checking: flake8_type_checking::settings::Settings::default(),
|
||||
|
|
|
@ -17,10 +17,9 @@ use crate::registry::{Rule, RuleNamespace, RuleSet, INCOMPATIBLE_CODES};
|
|||
use crate::rule_selector::{RuleSelector, Specificity};
|
||||
use crate::rules::{
|
||||
flake8_annotations, flake8_bandit, flake8_bugbear, flake8_builtins, flake8_comprehensions,
|
||||
flake8_errmsg, flake8_i18n, flake8_implicit_str_concat, flake8_import_conventions,
|
||||
flake8_pytest_style, flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking,
|
||||
flake8_unused_arguments, isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint,
|
||||
pyupgrade,
|
||||
flake8_errmsg, flake8_implicit_str_concat, flake8_import_conventions, flake8_pytest_style,
|
||||
flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking, flake8_unused_arguments,
|
||||
isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint, pyupgrade,
|
||||
};
|
||||
use crate::settings::configuration::Configuration;
|
||||
use crate::settings::types::{FilePatternSet, PerFileIgnore, PythonVersion, SerializationFormat};
|
||||
|
@ -113,7 +112,6 @@ pub struct Settings {
|
|||
pub flake8_errmsg: flake8_errmsg::settings::Settings,
|
||||
pub flake8_implicit_str_concat: flake8_implicit_str_concat::settings::Settings,
|
||||
pub flake8_import_conventions: flake8_import_conventions::settings::Settings,
|
||||
pub flake8_i18n: flake8_i18n::settings::Settings,
|
||||
pub flake8_pytest_style: flake8_pytest_style::settings::Settings,
|
||||
pub flake8_quotes: flake8_quotes::settings::Settings,
|
||||
pub flake8_self: flake8_self::settings::Settings,
|
||||
|
@ -218,7 +216,6 @@ impl Settings {
|
|||
.flake8_unused_arguments
|
||||
.map(Into::into)
|
||||
.unwrap_or_default(),
|
||||
flake8_i18n: config.flake8_i18n.map(Into::into).unwrap_or_default(),
|
||||
isort: config.isort.map(Into::into).unwrap_or_default(),
|
||||
mccabe: config.mccabe.map(Into::into).unwrap_or_default(),
|
||||
pep8_naming: config.pep8_naming.map(Into::into).unwrap_or_default(),
|
||||
|
|
|
@ -8,10 +8,9 @@ use serde::{Deserialize, Serialize};
|
|||
use crate::rule_selector::RuleSelector;
|
||||
use crate::rules::{
|
||||
flake8_annotations, flake8_bandit, flake8_bugbear, flake8_builtins, flake8_comprehensions,
|
||||
flake8_errmsg, flake8_i18n, flake8_implicit_str_concat, flake8_import_conventions,
|
||||
flake8_pytest_style, flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking,
|
||||
flake8_unused_arguments, isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint,
|
||||
pyupgrade,
|
||||
flake8_errmsg, flake8_implicit_str_concat, flake8_import_conventions, flake8_pytest_style,
|
||||
flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking, flake8_unused_arguments,
|
||||
isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint, pyupgrade,
|
||||
};
|
||||
use crate::settings::types::{PythonVersion, SerializationFormat, Version};
|
||||
|
||||
|
@ -457,9 +456,6 @@ pub struct Options {
|
|||
/// Options for the `flake8-type-checking` plugin.
|
||||
pub flake8_type_checking: Option<flake8_type_checking::settings::Options>,
|
||||
#[option_group]
|
||||
/// Options for the `flake8-i18n` plugin.
|
||||
pub flake8_i18n: Option<flake8_i18n::settings::Options>,
|
||||
#[option_group]
|
||||
/// Options for the `flake8-implicit-str-concat` plugin.
|
||||
pub flake8_implicit_str_concat: Option<flake8_implicit_str_concat::settings::Options>,
|
||||
#[option_group]
|
||||
|
|
|
@ -10,10 +10,9 @@ use ruff::linter::{check_path, LinterResult};
|
|||
use ruff::registry::AsRule;
|
||||
use ruff::rules::{
|
||||
flake8_annotations, flake8_bandit, flake8_bugbear, flake8_builtins, flake8_comprehensions,
|
||||
flake8_errmsg, flake8_i18n, flake8_implicit_str_concat, flake8_import_conventions,
|
||||
flake8_pytest_style, flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking,
|
||||
flake8_unused_arguments, isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint,
|
||||
pyupgrade,
|
||||
flake8_errmsg, flake8_implicit_str_concat, flake8_import_conventions, flake8_pytest_style,
|
||||
flake8_quotes, flake8_self, flake8_tidy_imports, flake8_type_checking, flake8_unused_arguments,
|
||||
isort, mccabe, pep8_naming, pycodestyle, pydocstyle, pylint, pyupgrade,
|
||||
};
|
||||
use ruff::settings::configuration::Configuration;
|
||||
use ruff::settings::options::Options;
|
||||
|
@ -137,7 +136,6 @@ pub fn defaultSettings() -> Result<JsValue, JsValue> {
|
|||
flake8_pytest_style: Some(flake8_pytest_style::settings::Settings::default().into()),
|
||||
flake8_quotes: Some(flake8_quotes::settings::Settings::default().into()),
|
||||
flake8_self: Some(flake8_self::settings::Settings::default().into()),
|
||||
flake8_i18n: Some(flake8_i18n::settings::Settings::default().into()),
|
||||
flake8_implicit_str_concat: Some(
|
||||
flake8_implicit_str_concat::settings::Settings::default().into(),
|
||||
),
|
||||
|
|
|
@ -41,7 +41,6 @@ natively, including:
|
|||
- [flake8-eradicate](https://pypi.org/project/flake8-eradicate/)
|
||||
- [flake8-errmsg](https://pypi.org/project/flake8-errmsg/)
|
||||
- [flake8-executable](https://pypi.org/project/flake8-executable/)
|
||||
- [flake8-i18n](https://pypi.org/project/flake8-i18n/)
|
||||
- [flake8-implicit-str-concat](https://pypi.org/project/flake8-implicit-str-concat/)
|
||||
- [flake8-import-conventions](https://github.com/joaopalmeiro/flake8-import-conventions)
|
||||
- [flake8-logging-format](https://pypi.org/project/flake8-logging-format/)
|
||||
|
@ -139,7 +138,6 @@ Today, Ruff can be used to replace Flake8 when used with any of the following pl
|
|||
- [flake8-eradicate](https://pypi.org/project/flake8-eradicate/)
|
||||
- [flake8-errmsg](https://pypi.org/project/flake8-errmsg/)
|
||||
- [flake8-executable](https://pypi.org/project/flake8-executable/)
|
||||
- [flake8-i18n](https://pypi.org/project/flake8-i18n/)
|
||||
- [flake8-implicit-str-concat](https://pypi.org/project/flake8-implicit-str-concat/)
|
||||
- [flake8-import-conventions](https://github.com/joaopalmeiro/flake8-import-conventions)
|
||||
- [flake8-logging-format](https://pypi.org/project/flake8-logging-format/)
|
||||
|
|
41
ruff.schema.json
generated
41
ruff.schema.json
generated
|
@ -176,17 +176,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"flake8-i18n": {
|
||||
"description": "Options for the `flake8-i18n` plugin.",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/Flake8I18NOptions"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flake8-implicit-str-concat": {
|
||||
"description": "Options for the `flake8-implicit-str-concat` plugin.",
|
||||
"anyOf": [
|
||||
|
@ -705,30 +694,6 @@
|
|||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"Flake8I18NOptions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"extend-function-names": {
|
||||
"description": "Additional function names to consider as internationalization calls, in addition to those included in `function-names`.",
|
||||
"default": [],
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"function-names": {
|
||||
"description": "The function names to consider as internationalization calls.",
|
||||
"type": [
|
||||
"array",
|
||||
"null"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"Flake8ImplicitStrConcatOptions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -1777,12 +1742,6 @@
|
|||
"INP0",
|
||||
"INP00",
|
||||
"INP001",
|
||||
"INT",
|
||||
"INT0",
|
||||
"INT00",
|
||||
"INT001",
|
||||
"INT002",
|
||||
"INT003",
|
||||
"ISC",
|
||||
"ISC0",
|
||||
"ISC00",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue