ruff/crates/ruff_python_formatter/src
Brent Westbrook b5e5271adf
Preserve triple quotes and prefixes for strings (#15818)
## Summary

This is a follow-up to #15726, #15778, and #15794 to preserve the triple
quote and prefix flags in plain strings, bytestrings, and f-strings.

I also added a `StringLiteralFlags::without_triple_quotes` method to
avoid passing along triple quotes in rules like SIM905 where it might
not make sense, as discussed
[here](https://github.com/astral-sh/ruff/pull/15726#discussion_r1930532426).

## Test Plan

Existing tests, plus many new cases in the `generator::tests::quote`
test that should cover all combinations of quotes and prefixes, at least
for simple string bodies.

Closes #7799 when combined with #15694, #15726, #15778, and #15794.

---------

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2025-02-04 08:41:06 -05:00
..
comments Add convenience helper methods for AST nodes representing function parameters (#15871) 2025-02-01 17:16:32 +00:00
expression Remove customizable reference enum names (#15647) 2025-01-21 13:46:31 -05:00
module Upgrade to Rust 1.78 (#11260) 2024-05-03 12:46:21 +00:00
other Remove AstNode and AnyNode (#15479) 2025-01-17 17:11:00 -05:00
pattern Remove AstNode and AnyNode (#15479) 2025-01-17 17:11:00 -05:00
snapshots Update insta snapshots (#14366) 2024-11-15 19:31:15 +01:00
statement Remove AstNode and AnyNode (#15479) 2025-01-17 17:11:00 -05:00
string Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
type_param Remove AstNode and AnyNode (#15479) 2025-01-17 17:11:00 -05:00
builders.rs Fix unstable f-string formatting for expressions containing a trailing comma (#15545) 2025-01-17 10:08:09 +01:00
cli.rs Build CommentRanges outside the parser (#11792) 2024-06-09 09:55:17 +00:00
context.rs Fix unstable f-string formatting for expressions containing a trailing comma (#15545) 2025-01-17 10:08:09 +01:00
generated.rs Auto-generate AST boilerplate (#15544) 2025-01-17 14:23:02 -05:00
lib.rs Remove AstNode and AnyNode (#15479) 2025-01-17 17:11:00 -05:00
main.rs Formatter and parser refactoring (#7569) 2023-09-26 15:29:43 +02:00
options.rs Change default for Python version from 3.8 to 3.9 (#13896) 2024-11-20 13:11:51 +01:00
prelude.rs
preview.rs Ruff 2025 style guide (#13906) 2025-01-09 10:20:06 +01:00
range.rs Extract LineIndex independent methods from Locator (#13938) 2024-10-28 07:53:41 +00:00
shared_traits.rs Upgrade Rust toolchain to 1.83 (#14677) 2024-11-29 12:05:05 +00:00
verbatim.rs Upgrade Rust toolchain to 1.83 (#14677) 2024-11-29 12:05:05 +00:00