131 lines
5.2 KiB
Python
131 lines
5.2 KiB
Python
|
from io import StringIO as TextIO
|
||
|
from io import BytesIO as BytesIO
|
||
|
from typing import Any, AnyStr, Callable, Generic, IO, List, Optional, Text, Tuple, TypeVar, Union, overload
|
||
|
from typing_extensions import Final
|
||
|
import sys
|
||
|
|
||
|
_T = TypeVar("_T")
|
||
|
|
||
|
class FDCapture(Generic[AnyStr]):
|
||
|
def __init__(self, targetfd: int, tmpfile: Optional[IO[AnyStr]] = ..., now: bool = ..., patchsys: bool = ...) -> None: ...
|
||
|
def start(self) -> None: ...
|
||
|
def done(self) -> IO[AnyStr]: ...
|
||
|
def writeorg(self, data: AnyStr) -> None: ...
|
||
|
|
||
|
class StdCaptureFD:
|
||
|
def __init__(
|
||
|
self,
|
||
|
out: Union[bool, IO[str]] = ...,
|
||
|
err: Union[bool, IO[str]] = ...,
|
||
|
mixed: bool = ...,
|
||
|
in_: bool = ...,
|
||
|
patchsys: bool = ...,
|
||
|
now: bool = ...,
|
||
|
) -> None: ...
|
||
|
@classmethod
|
||
|
def call(cls, func: Callable[..., _T], *args: Any, **kwargs: Any) -> Tuple[_T, str, str]: ...
|
||
|
def reset(self) -> Tuple[str, str]: ...
|
||
|
def suspend(self) -> Tuple[str, str]: ...
|
||
|
def startall(self) -> None: ...
|
||
|
def resume(self) -> None: ...
|
||
|
def done(self, save: bool = ...) -> Tuple[IO[str], IO[str]]: ...
|
||
|
def readouterr(self) -> Tuple[str, str]: ...
|
||
|
|
||
|
class StdCapture:
|
||
|
def __init__(
|
||
|
self,
|
||
|
out: Union[bool, IO[str]] = ...,
|
||
|
err: Union[bool, IO[str]] = ...,
|
||
|
in_: bool = ...,
|
||
|
mixed: bool = ...,
|
||
|
now: bool = ...,
|
||
|
) -> None: ...
|
||
|
@classmethod
|
||
|
def call(cls, func: Callable[..., _T], *args: Any, **kwargs: Any) -> Tuple[_T, str, str]: ...
|
||
|
def reset(self) -> Tuple[str, str]: ...
|
||
|
def suspend(self) -> Tuple[str, str]: ...
|
||
|
def startall(self) -> None: ...
|
||
|
def resume(self) -> None: ...
|
||
|
def done(self, save: bool = ...) -> Tuple[IO[str], IO[str]]: ...
|
||
|
def readouterr(self) -> Tuple[IO[str], IO[str]]: ...
|
||
|
|
||
|
# XXX: The type here is not exactly right. If f is IO[bytes] and
|
||
|
# encoding is not None, returns some weird hybrid, not exactly IO[bytes].
|
||
|
def dupfile(
|
||
|
f: IO[AnyStr],
|
||
|
mode: Optional[str] = ...,
|
||
|
buffering: int = ...,
|
||
|
raising: bool = ...,
|
||
|
encoding: Optional[str] = ...,
|
||
|
) -> IO[AnyStr]: ...
|
||
|
def get_terminal_width() -> int: ...
|
||
|
def ansi_print(
|
||
|
text: Union[str, Text],
|
||
|
esc: Union[Union[str, Text], Tuple[Union[str, Text], ...]],
|
||
|
file: Optional[IO[Any]] = ...,
|
||
|
newline: bool = ...,
|
||
|
flush: bool = ...,
|
||
|
) -> None: ...
|
||
|
def saferepr(obj, maxsize: int = ...) -> str: ...
|
||
|
|
||
|
class TerminalWriter:
|
||
|
stringio: TextIO
|
||
|
encoding: Final[str]
|
||
|
hasmarkup: bool
|
||
|
def __init__(self, file: Optional[IO[str]] = ..., stringio: bool = ..., encoding: Optional[str] = ...) -> None: ...
|
||
|
@property
|
||
|
def fullwidth(self) -> int: ...
|
||
|
@fullwidth.setter
|
||
|
def fullwidth(self, value: int) -> None: ...
|
||
|
@property
|
||
|
def chars_on_current_line(self) -> int: ...
|
||
|
@property
|
||
|
def width_of_current_line(self) -> int: ...
|
||
|
def markup(
|
||
|
self,
|
||
|
text: str,
|
||
|
*,
|
||
|
black: int = ..., red: int = ..., green: int = ..., yellow: int = ..., blue: int = ..., purple: int = ...,
|
||
|
cyan: int = ..., white: int = ..., Black: int = ..., Red: int = ..., Green: int = ..., Yellow: int = ...,
|
||
|
Blue: int = ..., Purple: int = ..., Cyan: int = ..., White: int = ..., bold: int = ..., light: int = ...,
|
||
|
blink: int = ..., invert: int = ...,
|
||
|
) -> str: ...
|
||
|
def sep(
|
||
|
self,
|
||
|
sepchar: str,
|
||
|
title: Optional[str] = ...,
|
||
|
fullwidth: Optional[int] = ...,
|
||
|
*,
|
||
|
black: int = ..., red: int = ..., green: int = ..., yellow: int = ..., blue: int = ..., purple: int = ...,
|
||
|
cyan: int = ..., white: int = ..., Black: int = ..., Red: int = ..., Green: int = ..., Yellow: int = ...,
|
||
|
Blue: int = ..., Purple: int = ..., Cyan: int = ..., White: int = ..., bold: int = ..., light: int = ...,
|
||
|
blink: int = ..., invert: int = ...,
|
||
|
) -> None: ...
|
||
|
def write(
|
||
|
self,
|
||
|
msg: str,
|
||
|
*,
|
||
|
black: int = ..., red: int = ..., green: int = ..., yellow: int = ..., blue: int = ..., purple: int = ...,
|
||
|
cyan: int = ..., white: int = ..., Black: int = ..., Red: int = ..., Green: int = ..., Yellow: int = ...,
|
||
|
Blue: int = ..., Purple: int = ..., Cyan: int = ..., White: int = ..., bold: int = ..., light: int = ...,
|
||
|
blink: int = ..., invert: int = ...,
|
||
|
) -> None: ...
|
||
|
def line(
|
||
|
self,
|
||
|
s: str = ...,
|
||
|
*,
|
||
|
black: int = ..., red: int = ..., green: int = ..., yellow: int = ..., blue: int = ..., purple: int = ...,
|
||
|
cyan: int = ..., white: int = ..., Black: int = ..., Red: int = ..., Green: int = ..., Yellow: int = ...,
|
||
|
Blue: int = ..., Purple: int = ..., Cyan: int = ..., White: int = ..., bold: int = ..., light: int = ...,
|
||
|
blink: int = ..., invert: int = ...,
|
||
|
) -> None: ...
|
||
|
def reline(
|
||
|
self,
|
||
|
line: str,
|
||
|
*,
|
||
|
black: int = ..., red: int = ..., green: int = ..., yellow: int = ..., blue: int = ..., purple: int = ...,
|
||
|
cyan: int = ..., white: int = ..., Black: int = ..., Red: int = ..., Green: int = ..., Yellow: int = ...,
|
||
|
Blue: int = ..., Purple: int = ..., Cyan: int = ..., White: int = ..., bold: int = ..., light: int = ...,
|
||
|
blink: int = ..., invert: int = ...,
|
||
|
) -> None: ...
|