From ea5293b0360b6e2e56c004d1e27cbe33c87dcb94 Mon Sep 17 00:00:00 2001 From: "Yilei \"Dolee\" Yang" Date: Sat, 4 Feb 2023 19:30:47 -0800 Subject: [PATCH] Document the future style changes introduced in #3489 and #3440 (#3541) --- docs/the_black_code_style/future_style.md | 49 +++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/the_black_code_style/future_style.md b/docs/the_black_code_style/future_style.md index 6d289d4..b2cdca2 100644 --- a/docs/the_black_code_style/future_style.md +++ b/docs/the_black_code_style/future_style.md @@ -62,3 +62,52 @@ plain strings. User-made splits are respected when they do not exceed the line l limit. Line continuation backslashes are converted into parenthesized strings. Unnecessary parentheses are stripped. The stability and status of this feature is tracked in [this issue](https://github.com/psf/black/issues/2188). + +### Improved line breaks + +For assignment expressions, _Black_ now prefers to split and wrap the right side of the +assignment instead of left side. For example: + +```python +some_dict[ + "with_a_long_key" +] = some_looooooooong_module.some_looooooooooooooong_function_name( + first_argument, second_argument, third_argument +) +``` + +will be changed to: + +```python +some_dict["with_a_long_key"] = ( + some_looooooooong_module.some_looooooooooooooong_function_name( + first_argument, second_argument, third_argument + ) +) +``` + +### Improved parentheses management + +For dict literals with long values, they are now wrapped in parentheses. Unnecessary +parentheses are now removed. For example: + +```python +my_dict = { + my_dict = { + "a key in my dict": a_very_long_variable + * and_a_very_long_function_call() + / 100000.0, + "another key": (short_value), +} +``` + +will be changed to: + +```python +my_dict = { + "a key in my dict": ( + a_very_long_variable * and_a_very_long_function_call() / 100000.0 + ), + "another key": short_value, +} +``` -- 2.39.2