Add hidden --preview / --no-preview options to ruff check (#7009)

Per discussion at https://github.com/astral-sh/ruff/discussions/6998

<!--
Thank you for contributing to Ruff! To help us out with reviewing,
please consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

Adds a `--preview` and `--no-preview` option to the CLI for `ruff check`
and corresponding settings. The CLI options are hidden for now.

Available in the settings as `preview = true` or `preview = false`.

Does not include environment variable configuration, although we may add
it in the future.

## Test Plan

<!-- How was it tested? -->

`cargo build`

Future work will build on this setting, such as toggling the mode during
a test.
This commit is contained in:
Zanie Blue 2023-08-31 09:51:59 -05:00 committed by GitHub
parent f4ba0ea144
commit 96a9717c1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 57 additions and 3 deletions

View file

@ -482,6 +482,17 @@ pub struct Options {
/// field (e.g., `requires-python = ">=3.8"`). If Ruff is configured via
/// `ruff.toml` or `.ruff.toml`, no such inference will be performed.
pub target_version: Option<PythonVersion>,
#[option(
default = "false",
value_type = "bool",
example = r#"
# Enable preview features
preview = true
"#
)]
/// Whether to enable preview mode. When preview mode is enabled, Ruff will
/// use unstable rules and fixes.
pub preview: Option<bool>,
#[option(
default = r#"["TODO", "FIXME", "XXX"]"#,
value_type = "list[str]",