mercurial/cext/bdiff.pyi
author Matt Harbison <matt_harbison@yahoo.com>
Wed, 21 Aug 2024 22:15:05 -0400
changeset 51826 0338fb200a30
parent 49596 b8389533ba3a
permissions -rw-r--r--
typing: lock in new pytype gains from making revlog related classes typeable These were pretty clean changes in the pyi files from earlier in this series, so add them to the code to make it more understandable. There's one more trivial hint that can be added to the return of `mercurial.revlogutils.rewrite._filelog_from_filename()`, however it needs to be imported from '..' under the conditional of `typing.TYPE_CHECKING`, and that seems to confuse the import checker- possibly because there's already an import block from that level. (I would have expected a message about multiple import statements in this case, but got one about higher level imports should come first, no matter where I put the import statement.)

from typing import (
    List,
    Tuple,
)

version: int

def bdiff(a: bytes, b: bytes) -> bytes: ...
def blocks(a: bytes, b: bytes) -> List[Tuple[int, int, int, int]]: ...
def fixws(s: bytes, allws: bool) -> bytes: ...
def splitnewlines(text: bytes) -> List[bytes]: ...
def xdiffblocks(a: bytes, b: bytes) -> List[Tuple[int, int, int, int]]: ...