ruff/crates
Aarni Koskela d7214e77e6
Add `ruff rule --all` subcommand (with JSON output) (#5059)
## Summary

This adds a `ruff rule --all` switch that prints out a human-readable
Markdown or a machine-readable JSON document of the lint rules known to
Ruff.

I needed a machine-readable document of the rules [for a
project](https://github.com/astral-sh/ruff/discussions/5078), and
figured it could be useful for other people – or tooling! – to be able
to interrogate Ruff about its arcane knowledge.

The JSON output is an array of the same objects printed by `ruff rule
--format=json`.

## Test Plan

I ran `ruff rule --all --format=json`. I think more might be needed, but
maybe a snapshot test is overkill?
2023-07-04 19:45:38 +00:00
..
flake8_to_ruff Bump version to 0.0.276 (#5488) 2023-07-03 18:02:49 +00:00
ruff Avoid returning first-match for rule prefixes (#5511) 2023-07-04 19:23:05 +00:00
ruff_benchmark Create `PyFormatOptions` 2023-06-26 14:02:17 +02:00
ruff_cache Only use a single cache file per Python package (#5117) 2023-06-19 17:46:13 +02:00
ruff_cli Add `ruff rule --all` subcommand (with JSON output) (#5059) 2023-07-04 19:45:38 +00:00
ruff_dev Add unreachable code rule (#5384) 2023-07-04 14:27:23 +00:00
ruff_diagnostics Use consistent `Cargo.toml` metadata in all crates (#5015) 2023-06-12 00:02:40 +00:00
ruff_formatter Show `BestFitting` mode if it isn't `FirstLine` (#5452) 2023-06-30 09:49:00 +00:00
ruff_index Add unreachable code rule (#5384) 2023-07-04 14:27:23 +00:00
ruff_macros Add unreachable code rule (#5384) 2023-07-04 14:27:23 +00:00
ruff_python_ast Remove some allocations in argument detection (#5481) 2023-07-03 12:21:26 -04:00
ruff_python_formatter Format import statements (#5493) 2023-07-04 07:07:20 +00:00
ruff_python_resolver Format let-else with rustfmt nightly (#5461) 2023-07-03 02:13:35 +00:00
ruff_python_semantic Remove some additional manual iterator matches (#5482) 2023-07-03 16:29:59 +00:00
ruff_python_stdlib Remove some additional manual iterator matches (#5482) 2023-07-03 16:29:59 +00:00
ruff_python_whitespace Use consistent `Cargo.toml` metadata in all crates (#5015) 2023-06-12 00:02:40 +00:00
ruff_rustpython Use consistent `Cargo.toml` metadata in all crates (#5015) 2023-06-12 00:02:40 +00:00
ruff_textwrap Use consistent `Cargo.toml` metadata in all crates (#5015) 2023-06-12 00:02:40 +00:00
ruff_wasm [`pyupgrade`] Restore the `keep-runtime-typing` setting (#5470) 2023-07-03 02:11:31 +00:00