X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e74117f172e29e8a980e2c9de929ad50d3769150..174fc47b7893b98d4a4393da849c09b6bd415764:/black.py diff --git a/black.py b/black.py index 24c57ca..64df7f7 100644 --- a/black.py +++ b/black.py @@ -20,7 +20,7 @@ from blib2to3 import pygram, pytree from blib2to3.pgen2 import driver, token from blib2to3.pgen2.parse import ParseError -__version__ = "18.3a0" +__version__ = "18.3a1" DEFAULT_LINE_LENGTH = 88 # types syms = pygram.python_symbols @@ -765,6 +765,7 @@ def whitespace(leaf: Leaf) -> str: DOUBLESPACE = ' ' t = leaf.type p = leaf.parent + v = leaf.value if t == token.COLON: return NO @@ -867,7 +868,7 @@ def whitespace(leaf: Leaf) -> str: return NO prevp = preceding_leaf(p) - if not prevp or prevp.type == token.AT: + if not prevp or prevp.type == token.AT or prevp.type == token.DOT: return NO elif p.type == syms.classdef: @@ -894,6 +895,7 @@ def whitespace(leaf: Leaf) -> str: syms.or_test, syms.and_test, syms.arith_expr, + syms.expr, syms.shift_expr, syms.yield_expr, syms.term, @@ -987,10 +989,19 @@ def whitespace(leaf: Leaf) -> str: elif t == token.NAME or t == token.NUMBER: return NO - elif p.type == syms.import_from and t == token.NAME: - prev = leaf.prev_sibling - if prev and prev.type == token.DOT: - return NO + elif p.type == syms.import_from: + if t == token.DOT: + prev = leaf.prev_sibling + if prev and prev.type == token.DOT: + return NO + + elif t == token.NAME: + if v == 'import': + return SPACE + + prev = leaf.prev_sibling + if prev and prev.type == token.DOT: + return NO elif p.type == syms.sliceop: return NO