X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/92b377556e24616d5980a9010cf558da7fa35d28..7914a5b0a228fa57e060b79c75d970cc48c7e914:/black.py?ds=inline diff --git a/black.py b/black.py index 0dd7630..950eac7 100644 --- a/black.py +++ b/black.py @@ -44,7 +44,7 @@ class NothingChanged(UserWarning): class CannotSplit(Exception): """A readable split that fits the allotted line length is impossible. - Raised by `left_hand_split()` and `right_hand_split()`. + Raised by `left_hand_split()`, `right_hand_split()`, and `delimiter_split()`. """ @@ -510,10 +510,16 @@ class Line: ): return False - if closing.type == token.RSQB or closing.type == token.RBRACE: + if closing.type == token.RBRACE: self.leaves.pop() return True + if closing.type == token.RSQB: + comma = self.leaves[-1] + if comma.parent and comma.parent.type == syms.listmaker: + self.leaves.pop() + return True + # For parens let's check if it's safe to remove the comma. If the # trailing one is the only one, we might mistakenly change a tuple # into a different type by removing the comma. @@ -867,21 +873,22 @@ def whitespace(leaf: Leaf) -> str: # noqa C901 if prevp.type == token.EQUAL: if prevp.parent and prevp.parent.type in { - syms.typedargslist, - syms.varargslist, - syms.parameters, syms.arglist, syms.argument, + syms.parameters, + syms.typedargslist, + syms.varargslist, }: return NO elif prevp.type == token.DOUBLESTAR: if prevp.parent and prevp.parent.type in { - syms.typedargslist, - syms.varargslist, - syms.parameters, syms.arglist, + syms.argument, syms.dictsetmaker, + syms.parameters, + syms.typedargslist, + syms.varargslist, }: return NO