PyCQA/pycodestyle

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

Aperta

#956 aperta il 5 ago 2020

 (1 commento) (1 reazione) (0 assegnatari)Python (809 fork)batch import
help wantedneeds patchneeds test

Metriche repository

Star
 (4941 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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

Guida contributor