EXCEPT_STAR = 14
VARIADIC_GENERICS = 15
DEBUG_F_STRINGS = 16
+ PARENTHESIZED_CONTEXT_MANAGERS = 17
FORCE_OPTIONAL_PARENTHESES = 50
# __future__ flags
Feature.POS_ONLY_ARGUMENTS,
Feature.UNPACKING_ON_FLOW,
Feature.ANN_ASSIGN_EXTENDED_RHS,
+ Feature.PARENTHESIZED_CONTEXT_MANAGERS,
},
TargetVersion.PY310: {
Feature.F_STRINGS,
Feature.POS_ONLY_ARGUMENTS,
Feature.UNPACKING_ON_FLOW,
Feature.ANN_ASSIGN_EXTENDED_RHS,
+ Feature.PARENTHESIZED_CONTEXT_MANAGERS,
Feature.PATTERN_MATCHING,
},
TargetVersion.PY311: {
Feature.POS_ONLY_ARGUMENTS,
Feature.UNPACKING_ON_FLOW,
Feature.ANN_ASSIGN_EXTENDED_RHS,
+ Feature.PARENTHESIZED_CONTEXT_MANAGERS,
Feature.PATTERN_MATCHING,
Feature.EXCEPT_STAR,
Feature.VARIADIC_GENERICS,
class Preview(Enum):
"""Individual preview style features."""
- annotation_parens = auto()
- empty_lines_before_class_or_def_with_leading_comments = auto()
- handle_trailing_commas_in_head = auto()
- long_docstring_quotes_on_newline = auto()
- normalize_docstring_quotes_and_prefixes_properly = auto()
- one_element_subscript = auto()
- remove_block_trailing_newline = auto()
- remove_redundant_parens = auto()
+ add_trailing_comma_consistently = auto()
+ blank_line_after_nested_stub_class = auto()
+ hex_codes_in_unicode_sequences = auto()
+ improved_async_statements_handling = auto()
+ multiline_string_handling = auto()
+ no_blank_line_before_class_docstring = auto()
+ prefer_splitting_right_hand_side_of_assignments = auto()
# NOTE: string_processing requires wrap_long_dict_values_in_parens
# for https://github.com/psf/black/issues/3117 to be fixed.
string_processing = auto()
+ parenthesize_conditional_expressions = auto()
skip_magic_trailing_comma_in_subscript = auto()
wrap_long_dict_values_in_parens = auto()
+ wrap_multiple_context_managers_in_parens = auto()
class Deprecated(UserWarning):
def __post_init__(self) -> None:
if self.experimental_string_processing:
warn(
- (
- "`experimental string processing` has been included in `preview`"
- " and deprecated. Use `preview` instead."
- ),
+ "`experimental string processing` has been included in `preview`"
+ " and deprecated. Use `preview` instead.",
Deprecated,
)