X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
pre_commit
/
languages
/
??
..
??
__init__.py
(0 B)
??
__pycache__
??
conda.py
(2.36 KB)
??
coursier.py
(2.45 KB)
??
dart.py
(3.04 KB)
??
docker.py
(5.29 KB)
??
docker_image.py
(847 B)
??
dotnet.py
(3.38 KB)
??
fail.py
(685 B)
??
golang.py
(4.53 KB)
??
haskell.py
(1.62 KB)
??
julia.py
(4.33 KB)
??
lua.py
(2.48 KB)
??
node.py
(3.76 KB)
??
perl.py
(1.46 KB)
??
pygrep.py
(3.73 KB)
??
python.py
(7.15 KB)
??
r.py
(7.72 KB)
??
ruby.py
(4.53 KB)
??
rust.py
(5.36 KB)
??
swift.py
(1.57 KB)
??
unsupported.py
(300 B)
??
unsupported_script.py
(786 B)
Editing: perl.py
from __future__ import annotations import contextlib import os import shlex from collections.abc import Generator from collections.abc import Sequence from pre_commit import lang_base from pre_commit.envcontext import envcontext from pre_commit.envcontext import PatchesT from pre_commit.envcontext import Var from pre_commit.prefix import Prefix ENVIRONMENT_DIR = 'perl_env' get_default_version = lang_base.basic_get_default_version health_check = lang_base.basic_health_check run_hook = lang_base.basic_run_hook def get_env_patch(venv: str) -> PatchesT: return ( ('PATH', (os.path.join(venv, 'bin'), os.pathsep, Var('PATH'))), ('PERL5LIB', os.path.join(venv, 'lib', 'perl5')), ('PERL_MB_OPT', f'--install_base {shlex.quote(venv)}'), ( 'PERL_MM_OPT', ( f'INSTALL_BASE={shlex.quote(venv)} ' f'INSTALLSITEMAN1DIR=none INSTALLSITEMAN3DIR=none' ), ), ) @contextlib.contextmanager def in_env(prefix: Prefix, version: str) -> Generator[None]: envdir = lang_base.environment_dir(prefix, ENVIRONMENT_DIR, version) with envcontext(get_env_patch(envdir)): yield def install_environment( prefix: Prefix, version: str, additional_dependencies: Sequence[str], ) -> None: lang_base.assert_version_default('perl', version) with in_env(prefix, version): lang_base.setup_cmd( prefix, ('cpan', '-T', '.', *additional_dependencies), )
Upload File
Create Folder