1
0
Fork 0
pre-commit/testing/language_helpers.py
Daniel Baumann ca00e08dce
Adding upstream version 3.0.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-09 21:35:53 +01:00

35 lines
898 B
Python

from __future__ import annotations
import os
from typing import Sequence
import pre_commit.constants as C
from pre_commit.languages.all import Language
from pre_commit.prefix import Prefix
def run_language(
path: os.PathLike[str],
language: Language,
exe: str,
args: Sequence[str] = (),
file_args: Sequence[str] = (),
version: str = C.DEFAULT,
deps: Sequence[str] = (),
is_local: bool = False,
) -> tuple[int, bytes]:
prefix = Prefix(str(path))
language.install_environment(prefix, version, deps)
with language.in_env(prefix, version):
ret, out = language.run_hook(
prefix,
exe,
args,
file_args,
is_local=is_local,
require_serial=True,
color=False,
)
out = out.replace(b'\r\n', b'\n')
return ret, out