shell bypass 403
U
��.e� � @ sX d dl mZ d dlZd dlZd dlmZ d dlmZ dZdddd �Z G d
d� de�Z
dS )� )�absolute_importN)�Command)�get_progzJ
# pip %(shell)s completion start%(script)s# pip %(shell)s completion end
a
_pip_completion()
{
COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \
COMP_CWORD=$COMP_CWORD \
PIP_AUTO_COMPLETE=1 $1 2>/dev/null ) )
}
complete -o default -F _pip_completion %(prog)s
aM
function _pip_completion {
local words cword
read -Ac words
read -cn cword
reply=( $( COMP_WORDS="$words[*]" \
COMP_CWORD=$(( cword-1 )) \
PIP_AUTO_COMPLETE=1 $words[1] 2>/dev/null ))
}
compctl -K _pip_completion %(prog)s
aw
function __fish_complete_pip
set -lx COMP_WORDS (commandline -o) ""
set -lx COMP_CWORD ( \
math (contains -i -- (commandline -t) $COMP_WORDS)-1 \
)
set -lx PIP_AUTO_COMPLETE 1
string split \ -- (eval $COMP_WORDS[1])
end
complete -fa "(__fish_complete_pip)" -c %(prog)s
)�bash�zsh�fishc s, e Zd ZdZdZ� fdd�Zdd� Z� ZS )�CompletionCommandz3A helper command to be used for command completion.Tc sl t t| �j||� | j}|jddddddd� |jdd dd
ddd� |jdd
ddddd� | j�d|� d S )Nz--bashz-b�store_constr �shellzEmit completion code for bash)�action�const�dest�helpz--zshz-zr zEmit completion code for zshz--fishz-fr zEmit completion code for fishr )�superr �__init__�cmd_optsZ
add_option�parserZinsert_option_group)�self�args�kwr �� __class__� �E/usr/lib/python3.8/site-packages/pip/_internal/commands/completion.pyr 8 s6 � � �zCompletionCommand.__init__c C sr t �� }dd� t|�D �}|j|krXt�t �|jd�dt� i �}tt ||jd� � nt
j�dd�
|� � dS ) z-Prints the completion code of the given shellc S s g | ]}d | �qS )z--r )�.0r
r r r �
<listcomp>U s z)CompletionCommand.run.<locals>.<listcomp>� �prog)�scriptr
zERROR: You must pass %s
z or N)�COMPLETION_SCRIPTS�keys�sortedr
�textwrap�dedent�getr �print�BASE_COMPLETION�sys�stderr�write�join)r Zoptionsr ZshellsZ
shell_optionsr r r r �runR s
���zCompletionCommand.run)�__name__�
__module__�__qualname__�__doc__Zignore_require_venvr r+ �
__classcell__r r r r r 3 s r )Z
__future__r r'