From fb84d8b2ee524a9b3bff51fa35054abb44740f1d Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Langa?= Date: Thu, 15 Mar 2018 23:39:45 -0700 Subject: [PATCH] Fix numpy-style array indexing Fixes #33 --- black.py | 9 ++++++++- tests/expression.py | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/black.py b/black.py index 51b5b21..d011483 100644 --- a/black.py +++ b/black.py @@ -960,7 +960,14 @@ def whitespace(leaf: Leaf) -> str: elif p.type == syms.subscript: # indexing - if not prev or prev.type == token.COLON: + if not prev: + assert p.parent is not None, "subscripts are always parented" + if p.parent.type == syms.subscriptlist: + return SPACE + + return NO + + elif prev.type == token.COLON: return NO elif p.type == syms.atom: diff --git a/tests/expression.py b/tests/expression.py index a3c810e..30a20e9 100644 --- a/tests/expression.py +++ b/tests/expression.py @@ -88,6 +88,7 @@ slice[:] slice[:-1] slice[1:] slice[::-1] +numpy[:, 0:1] (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None) {'2.7': dead, '3.7': long_live or die_hard} {'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'} @@ -219,6 +220,7 @@ slice[:] slice[:-1] slice[1:] slice[::-1] +numpy[:, 0:1] (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None) {'2.7': dead, '3.7': long_live or die_hard} {'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'} -- 2.39.2