From 78a1f3af220358099c70079a6839fb6a94648ec6 Mon Sep 17 00:00:00 2001 From: Zanie Date: Tue, 26 Sep 2023 12:33:30 -0500 Subject: [PATCH] Resolve issues introduced by `LinterSettings` merge --- crates/ruff/src/settings/defaults.rs | 129 --------------------- crates/ruff_linter/src/settings/mod.rs | 4 +- crates/ruff_workspace/src/configuration.rs | 1 + 3 files changed, 3 insertions(+), 131 deletions(-) delete mode 100644 crates/ruff/src/settings/defaults.rs diff --git a/crates/ruff/src/settings/defaults.rs b/crates/ruff/src/settings/defaults.rs deleted file mode 100644 index ba057cb0f9008b..00000000000000 --- a/crates/ruff/src/settings/defaults.rs +++ /dev/null @@ -1,129 +0,0 @@ -use once_cell::sync::Lazy; -use path_absolutize::path_dedot; -use regex::Regex; -use rustc_hash::FxHashSet; -use std::collections::HashSet; - -use super::types::{FilePattern, PreviewMode, PythonVersion}; -use super::Settings; -use crate::codes::{self, RuleCodePrefix}; -use crate::line_width::{LineLength, TabSize}; -use crate::registry::Linter; -use crate::rule_selector::{PreviewOptions, RuleSelector}; -use crate::rules::{ - flake8_annotations, flake8_bandit, flake8_bugbear, flake8_builtins, flake8_comprehensions, - flake8_copyright, flake8_errmsg, flake8_gettext, 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, pyflakes, pylint, pyupgrade, -}; -use crate::settings::types::FilePatternSet; - -pub const PREFIXES: &[RuleSelector] = &[ - RuleSelector::Prefix { - prefix: RuleCodePrefix::Pycodestyle(codes::Pycodestyle::E), - redirected_from: None, - }, - RuleSelector::Linter(Linter::Pyflakes), -]; - -pub const TASK_TAGS: &[&str] = &["TODO", "FIXME", "XXX"]; - -pub static DUMMY_VARIABLE_RGX: Lazy = - Lazy::new(|| Regex::new("^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$").unwrap()); - -pub static EXCLUDE: Lazy> = Lazy::new(|| { - vec![ - FilePattern::Builtin(".bzr"), - FilePattern::Builtin(".direnv"), - FilePattern::Builtin(".eggs"), - FilePattern::Builtin(".git"), - FilePattern::Builtin(".git-rewrite"), - FilePattern::Builtin(".hg"), - FilePattern::Builtin(".ipynb_checkpoints"), - FilePattern::Builtin(".mypy_cache"), - FilePattern::Builtin(".nox"), - FilePattern::Builtin(".pants.d"), - FilePattern::Builtin(".pyenv"), - FilePattern::Builtin(".pytest_cache"), - FilePattern::Builtin(".pytype"), - FilePattern::Builtin(".ruff_cache"), - FilePattern::Builtin(".svn"), - FilePattern::Builtin(".tox"), - FilePattern::Builtin(".venv"), - FilePattern::Builtin(".vscode"), - FilePattern::Builtin("__pypackages__"), - FilePattern::Builtin("_build"), - FilePattern::Builtin("buck-out"), - FilePattern::Builtin("build"), - FilePattern::Builtin("dist"), - FilePattern::Builtin("node_modules"), - FilePattern::Builtin("venv"), - ] -}); - -pub static INCLUDE: Lazy> = Lazy::new(|| { - vec![ - FilePattern::Builtin("*.py"), - FilePattern::Builtin("*.pyi"), - FilePattern::Builtin("**/pyproject.toml"), - ] -}); - -impl Default for Settings { - fn default() -> Self { - Self { - rules: PREFIXES - .iter() - .flat_map(|selector| selector.rules(&PreviewOptions::default())) - .collect(), - allowed_confusables: FxHashSet::from_iter([]), - builtins: vec![], - dummy_variable_rgx: DUMMY_VARIABLE_RGX.clone(), - exclude: FilePatternSet::try_from_vec(EXCLUDE.clone()).unwrap(), - extend_exclude: FilePatternSet::default(), - extend_include: FilePatternSet::default(), - external: HashSet::default(), - force_exclude: false, - ignore_init_module_imports: false, - include: FilePatternSet::try_from_vec(INCLUDE.clone()).unwrap(), - line_length: LineLength::default(), - logger_objects: vec![], - namespace_packages: vec![], - preview: PreviewMode::default(), - explicit_preview_rules: false, - per_file_ignores: vec![], - project_root: path_dedot::CWD.clone(), - respect_gitignore: true, - src: vec![path_dedot::CWD.clone()], - tab_size: TabSize::default(), - target_version: PythonVersion::default(), - task_tags: TASK_TAGS.iter().map(ToString::to_string).collect(), - typing_modules: vec![], - flake8_annotations: flake8_annotations::settings::Settings::default(), - flake8_bandit: flake8_bandit::settings::Settings::default(), - flake8_bugbear: flake8_bugbear::settings::Settings::default(), - flake8_builtins: flake8_builtins::settings::Settings::default(), - flake8_comprehensions: flake8_comprehensions::settings::Settings::default(), - flake8_copyright: flake8_copyright::settings::Settings::default(), - flake8_errmsg: flake8_errmsg::settings::Settings::default(), - flake8_implicit_str_concat: flake8_implicit_str_concat::settings::Settings::default(), - 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_gettext: flake8_gettext::settings::Settings::default(), - flake8_self: flake8_self::settings::Settings::default(), - flake8_tidy_imports: flake8_tidy_imports::settings::Settings::default(), - flake8_type_checking: flake8_type_checking::settings::Settings::default(), - flake8_unused_arguments: flake8_unused_arguments::settings::Settings::default(), - isort: isort::settings::Settings::default(), - mccabe: mccabe::settings::Settings::default(), - pep8_naming: pep8_naming::settings::Settings::default(), - pycodestyle: pycodestyle::settings::Settings::default(), - pydocstyle: pydocstyle::settings::Settings::default(), - pyflakes: pyflakes::settings::Settings::default(), - pylint: pylint::settings::Settings::default(), - pyupgrade: pyupgrade::settings::Settings::default(), - } - } -} diff --git a/crates/ruff_linter/src/settings/mod.rs b/crates/ruff_linter/src/settings/mod.rs index 8e2a9fe9fa4710..48fdf907f8db03 100644 --- a/crates/ruff_linter/src/settings/mod.rs +++ b/crates/ruff_linter/src/settings/mod.rs @@ -28,9 +28,9 @@ use crate::{codes, RuleSelector}; use super::line_width::{LineLength, TabSize}; -use self::rule_selector::PreviewOptions; use self::rule_table::RuleTable; use self::types::PreviewMode; +use crate::rule_selector::PreviewOptions; pub mod flags; pub mod rule_table; @@ -123,7 +123,7 @@ impl LinterSettings { project_root: project_root.to_path_buf(), rules: PREFIXES .iter() - .flat_map(|selector| selector.rules(PreviewOptions::default())) + .flat_map(|selector| selector.rules(&PreviewOptions::default())) .collect(), allowed_confusables: FxHashSet::from_iter([]), diff --git a/crates/ruff_workspace/src/configuration.rs b/crates/ruff_workspace/src/configuration.rs index dee36d1566aba4..46c3287c8f8eba 100644 --- a/crates/ruff_workspace/src/configuration.rs +++ b/crates/ruff_workspace/src/configuration.rs @@ -214,6 +214,7 @@ impl Configuration { .unwrap_or_else(|| TASK_TAGS.iter().map(ToString::to_string).collect()), logger_objects: self.logger_objects.unwrap_or_default(), preview, + explicit_preview_rules: self.explicit_preview_rules.unwrap_or_default(), typing_modules: self.typing_modules.unwrap_or_default(), // Plugins flake8_annotations: self