U
    
Ha6
                     @   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e	ddd	Zee eeee f d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 )summary).0r   command_info r   A/tmp/pip-unpacked-wheel-tx790h60/pip/_internal/cli/main_parser.py
<listcomp>'   s   z&create_main_parser.<locals>.<listcomp>
)r   r   r   disable_interspersed_argsr
   versionr   make_option_groupgeneral_groupadd_option_groupmainr   itemsjoindescription)parsergen_optsr&   r   r   r   r      s"    

)argsr   c                 C   s   t  }|| \}}|jr>tj|j tjtj t  |rZ|d dkrjt	|dkrj|
  t  |d }|tkrt|}d| dg}|r|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'   general_options	args_elsecmd_nameguessmsgcmd_argsr   r   r   r   0   s&    	
)__doc__r1   r.   typingr   r   Zpip._internal.clir   pip._internal.cli.parserr   r   pip._internal.commandsr   r   pip._internal.exceptionsr	   pip._internal.utils.miscr
   r   __all__r   strr   r   r   r   r   <module>   s   