mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 18:58:04 +00:00

This PR replaces most of the hard-coded AST definitions with a generation script, similar to what happens in `rust_python_formatter`. I've replaced every "rote" definition that I could find, where the content is entirely boilerplate and only depends on what syntax nodes there are and which groups they belong to. This is a pretty massive diff, but it's entirely a refactoring. It should make absolutely no changes to the API or implementation. In particular, this required adding some configuration knobs that let us override default auto-generated names where they don't line up with types that we created previously by hand. ## Test plan There should be no changes outside of the `rust_python_ast` crate, which verifies that there were no API changes as a result of the auto-generation. Aggressive `cargo clippy` and `uvx pre-commit` runs after each commit in the branch. --------- Co-authored-by: Micha Reiser <micha@reiser.io> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
20 lines
1.2 KiB
Text
20 lines
1.2 KiB
Text
* text=auto eol=lf
|
|
|
|
crates/ruff_linter/resources/test/fixtures/isort/line_ending_crlf.py text eol=crlf
|
|
crates/ruff_linter/resources/test/fixtures/pycodestyle/W605_1.py text eol=crlf
|
|
crates/ruff_linter/resources/test/fixtures/pycodestyle/W391_2.py text eol=crlf
|
|
crates/ruff_linter/resources/test/fixtures/pycodestyle/W391_3.py text eol=crlf
|
|
|
|
crates/ruff_python_formatter/resources/test/fixtures/ruff/docstring_code_examples_crlf.py text eol=crlf
|
|
crates/ruff_python_formatter/tests/snapshots/format@docstring_code_examples_crlf.py.snap text eol=crlf
|
|
|
|
crates/ruff_python_parser/resources/invalid/re_lexing/line_continuation_windows_eol.py text eol=crlf
|
|
crates/ruff_python_parser/resources/invalid/re_lex_logical_token_windows_eol.py text eol=crlf
|
|
crates/ruff_python_parser/resources/invalid/re_lex_logical_token_mac_eol.py text eol=cr
|
|
|
|
crates/ruff_python_parser/resources/inline linguist-generated=true
|
|
|
|
ruff.schema.json -diff linguist-generated=true text=auto eol=lf
|
|
crates/ruff_python_ast/src/generated.rs -diff linguist-generated=true text=auto eol=lf
|
|
crates/ruff_python_formatter/src/generated.rs -diff linguist-generated=true text=auto eol=lf
|
|
*.md.snap linguist-language=Markdown
|