PyCQA/pycodestyle

E126: asks for less indent on one-line protocol functions

开放

#956 创建于 2020年8月5日

 (1 条评论) (1 个反应) (0 位负责人)Python (809 个派生)batch import
help wantedneeds patchneeds test

仓库指标

星标
 (4,941 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

from typing import Protocol


class _LongPollProtocol(Protocol):
    def __call__(
            self,
            foo: str,
            bar: int,
    ) -> int: ...

running pycodestyle on this yields:

$ ~/opt/venv/bin/pycodestyle --version
2.6.0
$ ~/opt/venv/bin/pycodestyle t.py --ignore=E704
t.py:6:13: E126 continuation line over-indented for hanging indent

but interestingly, this indentation is ok if I move the Ellipsis to the next line

from typing import Protocol


class _LongPollProtocol(Protocol):
    def __call__(
            self,
            foo: str,
            bar: int,
    ) -> int:
        ...

I intentionally want to indent the arguments two indents to differentiate between the body of code

贡献者指南