ruff/crates/ruff_python_formatter/src/expression
Micha Reiser 30bec3fcfa
Only omit optinal parens if the expression ends or starts with a parenthesized expression
<!--
Thank you for contributing to Ruff! To help us out with reviewing, please consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

This PR matches Black' behavior where it only omits the optional parentheses if the expression starts or ends with a parenthesized expression:

```python
a + [aaa, bbb, cccc] * c # Don't omit
[aaa, bbb, cccc] + a * c # Split
a + c * [aaa, bbb, ccc] # Split 
```

<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan

This improves the Jaccard index from 0.945 to 0.946
2023-07-11 17:05:25 +02:00
..
expr_attribute.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_await.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_bin_op.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_bool_op.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_call.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_compare.rs Improve comprehension line break beheavior 2023-07-11 16:51:24 +02:00
expr_constant.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_dict.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_dict_comp.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_formatted_value.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_generator_exp.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_if_exp.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_joined_str.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_lambda.rs Change lambda dummy to NOT_YET_IMPLEMENTED_lambda (#5687) 2023-07-11 13:16:18 +00:00
expr_list.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_list_comp.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_name.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_named_expr.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_set.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_set_comp.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_slice.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_starred.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_subscript.rs Format target: annotation = value? expressions (#5661) 2023-07-11 16:40:28 +02:00
expr_tuple.rs Format target: annotation = value? expressions (#5661) 2023-07-11 16:40:28 +02:00
expr_unary_op.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_yield.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
expr_yield_from.rs Pass FormatContext to NeedsParentheses 2023-07-11 14:28:50 +02:00
mod.rs Only omit optinal parens if the expression ends or starts with a parenthesized expression 2023-07-11 17:05:25 +02:00
parentheses.rs Format target: annotation = value? expressions (#5661) 2023-07-11 16:40:28 +02:00
string.rs Format target: annotation = value? expressions (#5661) 2023-07-11 16:40:28 +02:00