mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-28 12:55:05 +00:00
![]() This is useful for extracting the defaults in order to construct equivalent configs by external scripts. This is my first non-hello-world rust code, comments and suggested tests appreciated. ## Summary We already have `ruff linter --output-format json`, this provides `ruff config x --output-format json` as well. I plan to use this to construct an equivalent config snippet to include in some managed repos, so when we update their version of ruff and it adds new lints, they get a PR that includes the commented-out new lints. Note that the no-args form of `ruff config` ignores output-format currently, but probably should obey it (although array-of-strings doesn't seem that useful, looking for input on format). ## Test Plan I could use a hand coming up with a typical way to write automated tests for this. ```sh-session (.venv) [timhatch:ruff ]$ ./target/debug/ruff config lint.select A list of rule codes or prefixes to enable. Prefixes can specify exact rules (like `F841`), entire categories (like `F`), or anything in between. When breaking ties between enabled and disabled rules (via `select` and `ignore`, respectively), more specific prefixes override less specific prefixes. Default value: ["E4", "E7", "E9", "F"] Type: list[RuleSelector] Example usage: ``toml # On top of the defaults (`E4`, E7`, `E9`, and `F`), enable flake8-bugbear (`B`) and flake8-quotes (`Q`). select = ["E4", "E7", "E9", "F", "B", "Q"] `` (.venv) [timhatch:ruff ]$ ./target/debug/ruff config lint.select --output-format json { "Field": { "doc": "A list of rule codes or prefixes to enable. Prefixes can specify exact\nrules (like `F841`), entire categories (like `F`), or anything in\nbetween.\n\nWhen breaking ties between enabled and disabled rules (via `select` and\n`ignore`, respectively), more specific prefixes override less\nspecific prefixes.", "default": "[\"E4\", \"E7\", \"E9\", \"F\"]", "value_type": "list[RuleSelector]", "scope": null, "example": "# On top of the defaults (`E4`, E7`, `E9`, and `F`), enable flake8-bugbear (`B`) and flake8-quotes (`Q`).\nselect = [\"E4\", \"E7\", \"E9\", \"F\", \"B\", \"Q\"]", "deprecated": null } } ``` |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |