a
    Xh                     @   s   d Z ddlZddl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lmZ er|dd	lmZmZ d
dgZdd
 Zdd ZdS )z=A single place for constructing and exposing the main parser
    N)
cmdoptions)ConfigOptionParserUpdatingDefaultsHelpFormatter)commands_dictget_similar_commands)CommandError)get_pip_versionget_prog)MYPY_CHECK_RUNNING)ListTuplecreate_main_parserparse_commandc                  C   sx   ddt  dt d} tf i | }|  t |_ttj|}|	| d|_
dgdd t D  }d	||_|S )
z6Creates and returns the main parser for pip's CLI
    z
%prog <command> [options]Fglobal)usageadd_help_option	formatternameprogT c                 S   s"   g | ]\}}d j f i t qS )z {name:27} {command_info.summary})formatlocals).0r   command_info r   b/var/www/viveiro_mudafortebrasil/venv/lib/python3.9/site-packages/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_kwparsergen_optsr&   r   r   r   r      s"    

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vrt|}d|g}|r|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   r   appendr   r%   remove)argsr(   general_options	args_elsecmd_nameguessmsgcmd_argsr   r   r   r   8   s&    	
)__doc__r0   r-   Zpip._internal.clir   pip._internal.cli.parserr   r   pip._internal.commandsr   r   pip._internal.exceptionsr   pip._internal.utils.miscr   r	   pip._internal.utils.typingr
   typingr   r   __all__r   r   r   r   r   r   <module>   s   #