PyCQA/pycodestyle

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

Aberta

#956 aberto em 5 de ago. de 2020

 (1 comentário) (1 reação) (0 responsável)Python (809 forks)batch import
help wantedneeds patchneeds test

Métricas do repositório

Stars
 (4.941 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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

Guia do colaborador