o
    Wi	                     @  s   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dl
mZ d dl
mZ d d	lmZ d d
lmZ dZe	jZe	jZe	jZdddZd ddZejd!ddZd"ddZdS )#    )annotationsN)	Generator)Sequence)	lang_base)
envcontext)PatchesT)Var)Prefix)
cmd_outputlua_envreturnstrc                  C  s   t ddd\} }} | S )z'Get the Lua version used in file paths.luarocksconfigz	--lua-ver)r
   strip)_stdout r   L/home/ubuntu/.local/lib/python3.10/site-packages/pre_commit/languages/lua.py_get_lua_version   s   r   dr   c                 C  s   t  }tjdkr
dnd}dtj| dtjtdffdtj| dd|d	tj| dd|d
dffdtj| dd|d| dfffS )Nwin32dllsoPATHbinLUA_PATHshareluaz?.lua;?z
init.lua;;	LUA_CPATHlibz?.z;;)r   sysplatformospathjoinpathsepr   )r   versionso_extr   r   r   get_env_patch   s   r*   prefixr	   r(   Generator[None]c                 c  sH    t | t|}tt| d V  W d    d S 1 sw   Y  d S )N)r   environment_dirENVIRONMENT_DIRr   r*   )r+   r(   envdirr   r   r   in_env.   s
   "r0   additional_dependenciesSequence[str]Nonec                 C  s   t d| t | t|}t| |7 tj|dd | dD ]}dd|d|f}t | | q|D ]}dd|d|f}t | | q1W d    d S 1 sLw   Y  d S )	Nr   T)exist_okz	.rockspecr   z--treemakeinstall)	r   assert_version_defaultr-   r.   r0   r$   makedirsstar	setup_cmd)r+   r(   r1   r/   rockspecmake_cmd
dependencycmdr   r   r   install_environment5   s   "r?   )r   r   )r   r   r   r   )r+   r	   r(   r   r   r,   )r+   r	   r(   r   r1   r2   r   r3   )
__future__r   
contextlibr$   r"   collections.abcr   r   
pre_commitr   pre_commit.envcontextr   r   r   pre_commit.prefixr	   pre_commit.utilr
   r.   basic_get_default_versionget_default_versionbasic_health_checkhealth_checkbasic_run_hookrun_hookr   r*   contextmanagerr0   r?   r   r   r   r   <module>   s*    

