mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-28 21:05:08 +00:00
Consider unsafe-fixes
settings for code actions (#15666)
## Summary Closes: #13960 ## Test Plan Using the example from https://github.com/astral-sh/ruff-vscode/issues/672: https://github.com/user-attachments/assets/7bdb01ef-8752-4cb7-9b5d-8a0d131984da
This commit is contained in:
parent
792f9e357e
commit
043ff61a0b
2 changed files with 13 additions and 2 deletions
|
@ -12,7 +12,7 @@ use ruff_linter::package::PackageRoot;
|
||||||
use ruff_linter::{
|
use ruff_linter::{
|
||||||
linter::{FixerResult, LinterResult},
|
linter::{FixerResult, LinterResult},
|
||||||
packaging::detect_package_root,
|
packaging::detect_package_root,
|
||||||
settings::{flags, types::UnsafeFixes, LinterSettings},
|
settings::{flags, LinterSettings},
|
||||||
};
|
};
|
||||||
use ruff_notebook::SourceValue;
|
use ruff_notebook::SourceValue;
|
||||||
use ruff_source_file::LineIndex;
|
use ruff_source_file::LineIndex;
|
||||||
|
@ -71,7 +71,7 @@ pub(crate) fn fix_all(
|
||||||
&query.virtual_file_path(),
|
&query.virtual_file_path(),
|
||||||
package,
|
package,
|
||||||
flags::Noqa::Enabled,
|
flags::Noqa::Enabled,
|
||||||
UnsafeFixes::Disabled,
|
query.settings().unsafe_fixes(),
|
||||||
linter_settings,
|
linter_settings,
|
||||||
&source_kind,
|
&source_kind,
|
||||||
source_type,
|
source_type,
|
||||||
|
|
|
@ -6,6 +6,7 @@ use std::sync::Arc;
|
||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
use ignore::{WalkBuilder, WalkState};
|
use ignore::{WalkBuilder, WalkState};
|
||||||
|
|
||||||
|
use ruff_linter::settings::types::UnsafeFixes;
|
||||||
use ruff_linter::{
|
use ruff_linter::{
|
||||||
display_settings, fs::normalize_path_to, settings::types::FilePattern,
|
display_settings, fs::normalize_path_to, settings::types::FilePattern,
|
||||||
settings::types::PreviewMode,
|
settings::types::PreviewMode,
|
||||||
|
@ -23,6 +24,8 @@ pub struct RuffSettings {
|
||||||
/// The path to this configuration file, used for debugging.
|
/// The path to this configuration file, used for debugging.
|
||||||
/// The default fallback configuration does not have a file path.
|
/// The default fallback configuration does not have a file path.
|
||||||
path: Option<PathBuf>,
|
path: Option<PathBuf>,
|
||||||
|
/// Toggle for unsafe fixes.
|
||||||
|
unsafe_fixes: UnsafeFixes,
|
||||||
/// Settings used to manage file inclusion and exclusion.
|
/// Settings used to manage file inclusion and exclusion.
|
||||||
file_resolver: ruff_workspace::FileResolverSettings,
|
file_resolver: ruff_workspace::FileResolverSettings,
|
||||||
/// Settings to pass into the Ruff linter.
|
/// Settings to pass into the Ruff linter.
|
||||||
|
@ -77,6 +80,7 @@ impl RuffSettings {
|
||||||
|
|
||||||
RuffSettings {
|
RuffSettings {
|
||||||
path,
|
path,
|
||||||
|
unsafe_fixes: fallback.unsafe_fixes,
|
||||||
file_resolver: fallback.file_resolver,
|
file_resolver: fallback.file_resolver,
|
||||||
formatter: fallback.formatter,
|
formatter: fallback.formatter,
|
||||||
linter: fallback.linter,
|
linter: fallback.linter,
|
||||||
|
@ -97,6 +101,11 @@ impl RuffSettings {
|
||||||
pub(crate) fn formatter(&self) -> &ruff_workspace::FormatterSettings {
|
pub(crate) fn formatter(&self) -> &ruff_workspace::FormatterSettings {
|
||||||
&self.formatter
|
&self.formatter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Return the [`UnsafeFixes`] for this [`RuffSettings`].
|
||||||
|
pub(crate) fn unsafe_fixes(&self) -> UnsafeFixes {
|
||||||
|
self.unsafe_fixes
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl RuffSettingsIndex {
|
impl RuffSettingsIndex {
|
||||||
|
@ -143,6 +152,7 @@ impl RuffSettingsIndex {
|
||||||
directory.to_path_buf(),
|
directory.to_path_buf(),
|
||||||
Arc::new(RuffSettings {
|
Arc::new(RuffSettings {
|
||||||
path: Some(pyproject),
|
path: Some(pyproject),
|
||||||
|
unsafe_fixes: settings.unsafe_fixes,
|
||||||
file_resolver: settings.file_resolver,
|
file_resolver: settings.file_resolver,
|
||||||
linter: settings.linter,
|
linter: settings.linter,
|
||||||
formatter: settings.formatter,
|
formatter: settings.formatter,
|
||||||
|
@ -267,6 +277,7 @@ impl RuffSettingsIndex {
|
||||||
directory,
|
directory,
|
||||||
Arc::new(RuffSettings {
|
Arc::new(RuffSettings {
|
||||||
path: Some(pyproject),
|
path: Some(pyproject),
|
||||||
|
unsafe_fixes: settings.unsafe_fixes,
|
||||||
file_resolver: settings.file_resolver,
|
file_resolver: settings.file_resolver,
|
||||||
linter: settings.linter,
|
linter: settings.linter,
|
||||||
formatter: settings.formatter,
|
formatter: settings.formatter,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue