
    l:i"                     n    d dl Z d dlZd dlmZmZ d dlmZmZ dZdZ	dZ
eZd Zd Zd	 Zd
 Zd Zd Zd Zy)    N)get_closestreplace_command)get_brew_path_prefixbrew_availablez/Homebrew/Library/Homebrew/cmdz/Homebrew/Library/Tapsz
/%s/%s/cmdc                     | t         z   }t        j                  |      D cg c]  }|j                  d      r|dd  c}S c c}w )z1To get brew default commands on local environment).rbz.shN)BREW_CMD_PATHoslistdirendswith)brew_path_prefixbrew_cmd_pathnames      Y/var/www/html/bot/venv/lib/python3.12/site-packages/thefuck/rules/brew_unknown_command.py_get_brew_commandsr      sF    $}4M"$**]"; .$}}^, "I . . .s   Ac                    g }| t         z   }t        |      D ]p  }t        |d|z  z         }d |D        }|D ]O  }|t        ||fz  z   }t        j                  j                  |      s1|d t        j                  |      D        z  }Q r |S )zhTo get tap's specific commands
    https://github.com/Homebrew/homebrew/blob/master/Library/brew.rb#L115z/%sc              3   D   K   | ]  }|j                  d       s|  yw)z	homebrew-N)
startswith).0taps     r   	<genexpr>z2_get_brew_tap_specific_commands.<locals>.<genexpr>    s     Cs~~k'BCs     c              3   v   K   | ]1  }t        |      r$|j                  d d      j                  dd       3 yw)brew- r   N)_is_brew_tap_cmd_namingreplace)r   r   s     r   r   z2_get_brew_tap_specific_commands.<locals>.<genexpr>%   s8      ?!% 7 = "\\'26>>ubI ?s   79)TAP_PATH_get_directory_names_onlyTAP_CMD_PATHr   pathisdirr   )r   commandsbrew_taps_pathusertapsr   tap_cmd_paths          r   _get_brew_tap_specific_commandsr(      s     H%0N).9 ?(%$,)FG DtC 	?C)LD#;,FFLww}}\* ?)+L)A? ?		?? O    c                 J    | j                  d      xr | j                  d      S )Nr   r   )r   r   )r   s    r   r   r   ,   s    ??7#<e(<<r)   c           	          t        j                  |       D cg c]A  }t         j                  j                  t         j                  j	                  | |            r|C c}S c c}w )N)r   r   r!   r"   join)r!   ds     r   r   r   0   sI    zz$' 5!ww}}RWW\\$23  5 5 5s   AA!c                  v    t               } | r	 t        |       t        |       z   S g dS # t        $ r Y g dS w xY w)N)infohomeoptionsinstall	uninstallsearchlistupdateupgradepinunpindoctorcreateeditcask)r   r   r(   OSError)r   s    r   _brew_commandsr?   5   sY    +-	&'7856FGH I0 0	  	0 0		s   ) 	88c                     d| j                   v xr d| j                  v }|r@t        j                  d| j                        d   }t	        t        |t                           S y)NbrewzUnknown command Error: Unknown command: ([a-z]+)r   F)scriptoutputrefindallboolr   r?   )commandis_proper_command
broken_cmds      r   matchrK   D   sa    7>>1 =*gnn<  ZZ C '0013
K
N,<=>>r)   c                 r    t        j                  d| j                        d   }t        | |t	                     S )NrB   r   )rE   rF   rD   r   r?   )rH   rJ   s     r   get_new_commandrM   O   s4    ?#NN,,-/J7J0@AAr)   )r   rE   thefuck.utilsr   r   thefuck.specific.brewr   r   r
   r   r    enabled_by_defaultr   r(   r   r   r?   rK   rM    r)   r   <module>rR      sJ    	 	 6 F0## ..=5
0Br)   