PyCQA/pycodestyle

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

Ouverte

#956 ouverte le 5 août 2020

 (1 commentaire) (1 réaction) (0 personne assignée)Python (809 forks)batch import
help wantedneeds patchneeds test

Métriques du dépôt

Stars
 (4 941 étoiles)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

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

Guide contributeur