#8 add PyPI pip completion

This commit is contained in:
Dmitry Gladkov 2011-07-21 20:41:48 +03:00
parent 06a3332cb7
commit 05a42d2d1e
1 changed files with 36 additions and 0 deletions

36
_pip Normal file
View File

@ -0,0 +1,36 @@
#compdef pip
local subcmds
_arguments -C '*::command:->command' && return 0
case $state in
command)
if [[ $CURRENT != 1 && $words[$CURRENT] != -* && $words[$CURRENT-1] != "-r" ]]; then
state=packages
elif [[ $words[$CURRENT-1] == "-r" ]]; then
state=files
else
state=subcommands
fi
;;
esac
case $state in
subcommands)
reply=($( COMP_WORDS="$service $words[*]" \
COMP_CWORD=0 \
PIP_AUTO_COMPLETE=1 $service ))
_describe -t commands 'pip commands' reply
;;
packages)
if [[ -n $words[CURRENT] ]]; then
packages=($( pip search "$words[CURRENT]" | \
grep -i "^$words[CURRENT]" | \
cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]' ))
_describe -t commands 'packages' packages
fi
;;
files)
_arguments -C '*:input file:_files' && return 0
esac