ruff/fuzz/fuzz_targets
Micha Reiser 678b0c2d39
[red-knot] Resolve `Options` to `Settings` (#16000)
## Summary

This PR generalize the idea that we may want to emit diagnostics for 
invalid or incompatible configuration values similar to how we already 
do it for `rules`. 

This PR introduces a new `Settings` struct that is similar to `Options`
but, unlike
`Options`, are fields have their default values filled in and they use a
representation optimized for reads.

The diagnostics created during loading the `Settings` are stored on the
`Project` so that we can emit them when calling `check`.

The motivation for this work is that it simplifies adding new settings.
That's also why I went ahead and added the `terminal.error-on-warning`
setting to demonstrate how new settings are added.

## Test Plan

Existing tests, new CLI test.
2025-02-10 15:28:45 +01:00
..
red_knot_check_invalid_syntax.rs [red-knot] Resolve `Options` to `Settings` (#16000) 2025-02-10 15:28:45 +01:00
ruff_fix_validity.rs Introduce `LinterSettings` 2023-09-20 17:02:34 +02:00
ruff_formatter_idempotency.rs Add a idempotent fuzz_target for ruff_python_formatter (#9448) 2024-01-11 08:55:59 +01:00
ruff_formatter_validity.rs Simplify `LinterResult`, avoid cloning `ParseError` (#11903) 2024-06-27 13:44:11 +02:00
ruff_parse_idempotency.rs Remove source path from parser errors (#9322) 2023-12-30 20:33:05 +00:00
ruff_parse_simple.rs Extract `LineIndex` independent methods from `Locator` (#13938) 2024-10-28 07:53:41 +00:00