X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/086ae68076de570b0cb1881a3c3b9da592b46ee0..c6800e0c659eba5b22190bf6ae0ba563a4170661:/src/black/mode.py diff --git a/src/black/mode.py b/src/black/mode.py index 35a072c..6bd4ce1 100644 --- a/src/black/mode.py +++ b/src/black/mode.py @@ -30,6 +30,7 @@ class TargetVersion(Enum): PY38 = 8 PY39 = 9 PY310 = 10 + PY311 = 11 class Feature(Enum): @@ -47,6 +48,7 @@ class Feature(Enum): PATTERN_MATCHING = 11 UNPACKING_ON_FLOW = 12 ANN_ASSIGN_EXTENDED_RHS = 13 + EXCEPT_STAR = 14 FORCE_OPTIONAL_PARENTHESES = 50 # __future__ flags @@ -116,6 +118,21 @@ VERSION_TO_FEATURES: Dict[TargetVersion, Set[Feature]] = { Feature.ANN_ASSIGN_EXTENDED_RHS, Feature.PATTERN_MATCHING, }, + TargetVersion.PY311: { + Feature.F_STRINGS, + Feature.NUMERIC_UNDERSCORES, + Feature.TRAILING_COMMA_IN_CALL, + Feature.TRAILING_COMMA_IN_DEF, + Feature.ASYNC_KEYWORDS, + Feature.FUTURE_ANNOTATIONS, + Feature.ASSIGNMENT_EXPRESSIONS, + Feature.RELAXED_DECORATORS, + Feature.POS_ONLY_ARGUMENTS, + Feature.UNPACKING_ON_FLOW, + Feature.ANN_ASSIGN_EXTENDED_RHS, + Feature.PATTERN_MATCHING, + Feature.EXCEPT_STAR, + }, } @@ -127,6 +144,9 @@ class Preview(Enum): """Individual preview style features.""" string_processing = auto() + remove_redundant_parens = auto() + one_element_subscript = auto() + annotation_parens = auto() class Deprecated(UserWarning): @@ -162,9 +182,7 @@ class Mode: """ if feature is Preview.string_processing: return self.preview or self.experimental_string_processing - # TODO: Remove type ignore comment once preview contains more features - # than just ESP - return self.preview # type: ignore + return self.preview def get_cache_key(self) -> str: if self.target_versions: