JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.opt-1.pyc

a

[��f��@s�dZddlZddlZddlZddlmZddlmZmZm	Z	m
Z
ddlmZddl
mZmZddlmZdd�d	d
�Ze	eeeee
ed�dd
�Zeeeed�dd�ZdS)zBLogic that powers autocompletion installed by ``pip completion``.
�N)�chain)�Any�Iterable�List�Optional)�create_main_parser)�
commands_dict�create_command)�get_default_environment)�returncs�dtjvrdStjd��dd��ttjd�}z�|d�WntyXd�Yn0t�}tt�}g}d}�D]}||vrt|}q�qt|du�r|dkr�t�	d���
d�o�|d	v}|�rt�}������fd
d�|j
dd
�D�}|�r|D]}	t|	�q�t�	d�t|�}
|
jjD]8}|jtjk�r|j|jD]}|�||jf��q:�qdd��d|d�D���fdd�|D�}�fdd�|D�}t�||
jj�}
|
�r�t�|
�}dd�|D�}|D]>}|d}|d�r�|ddd�dk�r�|d7}t|��q�n�dd�|jD�}|�|j�t�|�}��
d��rf|D]$}|jtjk�r>||j|j7}�q>n t�||�}
|
�r�tt�|
��}td��fdd�|D���t�	d�dS)z:Entry Point for completion of main and subcommand options.ZPIP_AUTO_COMPLETENZ
COMP_WORDS�Z
COMP_CWORD��help�-)ZshowZ	uninstallcs0g|](}|j���r|j�dd�vr|j�qS)rN)Zcanonical_name�
startswith)�.0�dist)�cwords�lc��D/usr/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py�
<listcomp>2s�z autocomplete.<locals>.<listcomp>T)Z
local_onlycSsg|]}|�d�d�qS)�=r)�split�r�xrrrrF�cs g|]\}}|�vr||f�qSrr)rr�v)�	prev_optsrrrGrcs"g|]\}}|���r||f�qSr�r)r�kr��currentrrrIrcSsg|]}|df�qS)rr)r�pathrrrrTrr�z--rcSsg|]
}|j�qSr)�option_list)r�irrrr^r� csg|]}|���r|�qSrrrr!rrrkr) �os�environr�int�
IndexErrorr�listr�sys�exitrr
�lowerZiter_installed_distributions�printr	�parserZoption_list_allr�optparse�
SUPPRESS_HELPZ
_long_optsZ_short_opts�append�nargs�get_path_completion_type�auto_complete_pathsZ
option_groupsr%r�
from_iterable�join)�cwordr1�subcommands�optionsZsubcommand_nameZwordZshould_list_installed�envZ	installedrZ
subcommand�optZopt_str�completion_type�paths�optionZ	opt_label�optsZflattened_optsr)r"rrrr�autocompletes~




�

�
 
rC)rr:rBrcCs�|dks||d�d�sdS|D]n}|jtjkr4q"t|��d�D]L}||d�d�d|krB|jr�tdd�|j�d�D��rB|jSqBq"dS)	aLGet the type of path completion (``file``, ``dir``, ``path`` or None)

    :param cwords: same as the environmental variable ``COMP_WORDS``
    :param cword: same as the environmental variable ``COMP_CWORD``
    :param opts: The available options to check
    :return: path completion type (``file``, ``dir``, ``path`` or None)
    r$rN�/rrcss|]}|dvVqdS))r#�file�dirNrrrrr�	<genexpr>�sz+get_path_completion_type.<locals>.<genexpr>)rrr2r3�strr�metavar�any)rr:rBr>�orrrr6os

�r6)r"r?rc#s�tj�|�\}�tj�|�}t�|tj�s.dStj�����fdd�t�|�D�}|D]`}tj�||�}tj�tj�||��}|dkr�tj�	|�r�|VqVtj�
|�rVtj�|d�VqVdS)aoIf ``completion_type`` is ``file`` or ``path``, list all regular files
    and directories starting with ``current``; otherwise only list directories
    starting with ``current``.

    :param current: The word to be completed
    :param completion_type: path completion type(`file`, `path` or `dir`)i
    :return: A generator of regular files and/or directories
    Nc3s$|]}tj�|����r|VqdS)N)r(r#�normcaserr��filenamerrrG�sz&auto_complete_paths.<locals>.<genexpr>rFr
)r(r#r�abspath�access�R_OKrL�listdirr9�isfile�isdir)r"r?Z	directoryZcurrent_pathZ	file_list�fr>Z	comp_filerrMrr7�s	
�r7)�__doc__r2r(r-�	itertoolsr�typingrrrrZpip._internal.cli.main_parserrZpip._internal.commandsrr	Zpip._internal.metadatar
rCrHr*r6r7rrrr�<module>sa�
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg