o
    f}”e6
  ã                   @   s¨   d Z ddlZddlZddlmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ ddlmZ ddlmZmZ d	d
gZde	fdd	„Zdee deeee f fdd
„ZdS )z=A single place for constructing and exposing the main parser
é    N)ÚListÚTuple)Ú
cmdoptions)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)Úcommands_dictÚget_similar_commands)ÚCommandError)Úget_pip_versionÚget_progÚcreate_main_parserÚparse_commandÚreturnc                  C   sl   t ddtƒ dtƒ d�} |  ¡  tƒ | _t tj| ¡}|  	|¡ d| _
dgdd„ t ¡ D ƒ }d	 |¡| _| S )
z1Creates and returns the main parser for pip's CLIz
%prog <command> [options]FÚglobal)ÚusageÚadd_help_optionÚ	formatterÚnameÚprogTÚ c                 S   s"   g | ]\}}|d ›d|j › �‘qS )Z27ú )Zsummary)Ú.0r   Zcommand_info© r   úf/Users/abhinavbhinder/Documents/map/venv/lib/python3.10/site-packages/pip/_internal/cli/main_parser.pyÚ
<listcomp>'   s    ÿÿz&create_main_parser.<locals>.<listcomp>Ú
)r   r   r   Údisable_interspersed_argsr
   Úversionr   Zmake_option_groupZgeneral_groupÚadd_option_groupÚmainr   ÚitemsÚjoinÚdescription)ÚparserZgen_optsr"   r   r   r   r      s"   û

þÚargsc                 C   sÒ   t ƒ }| | ¡\}}|jrtj |j¡ tj tj¡ t ¡  |r-|d dkr5t	|ƒdkr5| 
¡  t ¡  |d }|tvrZt|ƒ}d|› d�g}|rS| d|› d�¡ td |¡ƒ‚| d d … }| |¡ ||fS )Nr   Úhelpé   zunknown command "ú"zmaybe you meant "z - )r   Ú
parse_argsr   ÚsysÚstdoutÚwriteÚosÚlinesepÚexitÚlenÚ
print_helpr   r   Úappendr	   r!   Úremove)r$   r#   Zgeneral_optionsZ	args_elseÚcmd_nameZguessÚmsgÚcmd_argsr   r   r   r   0   s&   	
)Ú__doc__r,   r)   Útypingr   r   Úpip._internal.clir   Zpip._internal.cli.parserr   r   Úpip._internal.commandsr   r   Úpip._internal.exceptionsr	   Zpip._internal.utils.miscr
   r   Ú__all__r   Ústrr   r   r   r   r   Ú<module>   s    &