|
|
|
@ -3,19 +3,19 @@ |
|
|
|
# Usage: pyenv commands [--sh|--no-sh] |
|
|
|
|
|
|
|
set -e |
|
|
|
[ -n "$PYENV_DEBUG" ] && set -x |
|
|
|
[[ -n $PYENV_DEBUG ]] && set -x |
|
|
|
|
|
|
|
# Provide pyenv completions |
|
|
|
if [ "$1" = "--complete" ]; then |
|
|
|
if [[ $1 = "--complete" ]]; then |
|
|
|
echo --sh |
|
|
|
echo --no-sh |
|
|
|
exit |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$1" = "--sh" ]; then |
|
|
|
if [[ $1 = "--sh" ]]; then |
|
|
|
sh=1 |
|
|
|
shift |
|
|
|
elif [ "$1" = "--no-sh" ]; then |
|
|
|
elif [[ $1 = "--no-sh" ]]; then |
|
|
|
nosh=1 |
|
|
|
shift |
|
|
|
fi |
|
|
|
@ -24,20 +24,25 @@ IFS=: paths=($PATH) |
|
|
|
|
|
|
|
shopt -s nullglob |
|
|
|
|
|
|
|
{ for path in "${paths[@]}"; do |
|
|
|
for command in "${path}/pyenv-"*; do |
|
|
|
command="${command##*pyenv-}" |
|
|
|
if [ -n "$sh" ]; then |
|
|
|
if [ "${command:0:3}" = "sh-" ]; then |
|
|
|
echo "${command##sh-}" |
|
|
|
fi |
|
|
|
elif [ -n "$nosh" ]; then |
|
|
|
if [ "${command:0:3}" != "sh-" ]; then |
|
|
|
{ |
|
|
|
if [[ -n $sh ]]; then |
|
|
|
for path in "${paths[@]}"; do |
|
|
|
for command in "${path}"/pyenv-sh-*; do |
|
|
|
echo "${command##*/pyenv-sh-}" |
|
|
|
done |
|
|
|
done |
|
|
|
else |
|
|
|
for path in "${paths[@]}"; do |
|
|
|
for command in "${path}"/pyenv-*; do |
|
|
|
command="${command##*/pyenv-}" |
|
|
|
if [[ -n $nosh ]]; then |
|
|
|
if [[ ${command:0:3} != "sh-" ]]; then |
|
|
|
echo "$command" |
|
|
|
fi |
|
|
|
else |
|
|
|
echo "${command##sh-}" |
|
|
|
fi |
|
|
|
else |
|
|
|
echo "${command##sh-}" |
|
|
|
fi |
|
|
|
done |
|
|
|
done |
|
|
|
done |
|
|
|
} | sort | uniq |
|
|
|
fi |
|
|
|
} | sort -u |