PyCQA/pycodestyle

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

Open

#956 opened on 2020年8月5日

GitHub で見る
 (1 comment) (1 reaction) (0 assignees)Python (4,941 stars) (809 forks)batch import
help wantedneeds patchneeds test

説明

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

コントリビューターガイド