summaryrefslogtreecommitdiff
path: root/pycodestyle.py
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2019-07-11 08:15:52 -0700
committerAnthony Sottile <asottile@umich.edu>2019-07-11 08:15:52 -0700
commit4fea946aa5b66d4b39ebe52bd91e84b0ed5b5d54 (patch)
treeacd72967182f427f6612198e764d27e99a568fa5 /pycodestyle.py
parent3b258c375c6392b1475a487c0961cf7dbe03f838 (diff)
downloadpep8-4fea946aa5b66d4b39ebe52bd91e84b0ed5b5d54.tar.gz
Ellipsis is not a binary operator
Diffstat (limited to 'pycodestyle.py')
-rwxr-xr-xpycodestyle.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pycodestyle.py b/pycodestyle.py
index ec6b894..4ade087 100755
--- a/pycodestyle.py
+++ b/pycodestyle.py
@@ -1205,13 +1205,16 @@ def explicit_line_join(logical_line, tokens):
parens -= 1
+_SYMBOLIC_OPS = frozenset("()[]{},:.;@=%~") | frozenset(("...",))
+
+
def _is_binary_operator(token_type, text):
is_op_token = token_type == tokenize.OP
is_conjunction = text in ['and', 'or']
# NOTE(sigmavirus24): Previously the not_a_symbol check was executed
# conditionally. Since it is now *always* executed, text may be
# None. In that case we get a TypeError for `text not in str`.
- not_a_symbol = text and text not in "()[]{},:.;@=%~"
+ not_a_symbol = text and text not in _SYMBOLIC_OPS
# The % character is strictly speaking a binary operator, but the
# common usage seems to be to put it next to the format parameters,
# after a line break.