ruff/crates/ruff_python_formatter
Dhruv Manilawala c84c690f1e
Avoid invalid syntax for format-spec with quotes for all Python versions (#14625)
## Summary

fixes: #14608

The logic that was only applied for 3.12+ target version needs to be
applied for other versions as well.

## Test Plan

I've moved the existing test cases for 3.12 only to `f_string.py` so
that it's tested against the default target version.

I think we should probably enabled testing for two target version (pre
3.12 and 3.12) but it won't highlight any issue because the parser
doesn't consider this. Maybe we should enable this once we have target
version specific syntax errors in place
(https://github.com/astral-sh/ruff/issues/6591).
2024-11-27 13:19:33 +05:30
..
resources/test/fixtures Avoid invalid syntax for format-spec with quotes for all Python versions (#14625) 2024-11-27 13:19:33 +05:30
src Avoid invalid syntax for format-spec with quotes for all Python versions (#14625) 2024-11-27 13:19:33 +05:30
tests Avoid invalid syntax for format-spec with quotes for all Python versions (#14625) 2024-11-27 13:19:33 +05:30
Cargo.toml Bump MSRV to Rust 1.80 (#13826) 2024-10-20 10:55:36 +02:00
CONTRIBUTING.md Remove remaining ruff_shrinking references (#11272) 2024-05-03 20:22:08 +00:00
generate.py Normalize implicit concatenated f-string quotes per part (#13539) 2024-10-08 09:59:17 +00:00
orphan_rules_in_the_formatter.svg Generate FormatRule definitions (#4724) 2023-06-01 08:38:53 +02:00
README.md Move deviations from formatter README to documentation (#10444) 2024-03-18 08:22:28 +00:00

Ruff Formatter

The Ruff formatter is an extremely fast Python code formatter that ships as part of the ruff CLI.

Goals

The formatter is designed to be a drop-in replacement for Black, but with an excessive focus on performance and direct integration with Ruff.

Specifically, the formatter is intended to emit near-identical output when run over Black-formatted code. When run over extensive Black-formatted projects like Django and Zulip, > 99.9% of lines are formatted identically. When migrating an existing project from Black to Ruff, you should expect to see a few differences on the margins, but the vast majority of your code should be unchanged.

If you identify deviations in your project, spot-check them against the intentional deviations enumerated below, as well as the unintentional deviations filed in the issue tracker. If you've identified a new deviation, please file an issue.

When run over non-Black-formatted code, the formatter makes some different decisions than Black, and so more deviations should be expected, especially around the treatment of end-of-line comments. For details, see Black compatibility.

Getting started

The Ruff formatter is available as of Ruff v0.1.2. Head to The Ruff Formatter for usage instructions and a comparison to Black.