mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Add types to pre-commit
This commit is contained in:
parent
fa536a8693
commit
327ed924a3
62 changed files with 911 additions and 411 deletions
|
|
@ -1,19 +1,22 @@
|
|||
import contextlib
|
||||
import sys
|
||||
from typing import IO
|
||||
from typing import Optional
|
||||
from typing import Union
|
||||
|
||||
from pre_commit import color
|
||||
from pre_commit import five
|
||||
|
||||
|
||||
def get_hook_message(
|
||||
start,
|
||||
postfix='',
|
||||
end_msg=None,
|
||||
end_len=0,
|
||||
end_color=None,
|
||||
use_color=None,
|
||||
cols=80,
|
||||
):
|
||||
start: str,
|
||||
postfix: str = '',
|
||||
end_msg: Optional[str] = None,
|
||||
end_len: int = 0,
|
||||
end_color: Optional[str] = None,
|
||||
use_color: Optional[bool] = None,
|
||||
cols: int = 80,
|
||||
) -> str:
|
||||
"""Prints a message for running a hook.
|
||||
|
||||
This currently supports three approaches:
|
||||
|
|
@ -44,16 +47,13 @@ def get_hook_message(
|
|||
)
|
||||
start...........................................................postfix end
|
||||
"""
|
||||
if bool(end_msg) == bool(end_len):
|
||||
raise ValueError('Expected one of (`end_msg`, `end_len`)')
|
||||
if end_msg is not None and (end_color is None or use_color is None):
|
||||
raise ValueError(
|
||||
'`end_color` and `use_color` are required with `end_msg`',
|
||||
)
|
||||
|
||||
if end_len:
|
||||
assert end_msg is None, end_msg
|
||||
return start + '.' * (cols - len(start) - end_len - 1)
|
||||
else:
|
||||
assert end_msg is not None
|
||||
assert end_color is not None
|
||||
assert use_color is not None
|
||||
return '{}{}{}{}\n'.format(
|
||||
start,
|
||||
'.' * (cols - len(start) - len(postfix) - len(end_msg) - 1),
|
||||
|
|
@ -62,15 +62,16 @@ def get_hook_message(
|
|||
)
|
||||
|
||||
|
||||
stdout_byte_stream = getattr(sys.stdout, 'buffer', sys.stdout)
|
||||
|
||||
|
||||
def write(s, stream=stdout_byte_stream):
|
||||
def write(s: str, stream: IO[bytes] = sys.stdout.buffer) -> None:
|
||||
stream.write(five.to_bytes(s))
|
||||
stream.flush()
|
||||
|
||||
|
||||
def write_line(s=None, stream=stdout_byte_stream, logfile_name=None):
|
||||
def write_line(
|
||||
s: Union[None, str, bytes] = None,
|
||||
stream: IO[bytes] = sys.stdout.buffer,
|
||||
logfile_name: Optional[str] = None,
|
||||
) -> None:
|
||||
with contextlib.ExitStack() as exit_stack:
|
||||
output_streams = [stream]
|
||||
if logfile_name:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue