#!/usr/bin/env bash # Summary: List all available pyenv commands # Usage: pyenv commands [--sh|--no-sh] set -e [ -n "$PYENV_DEBUG" ] && set -x # Provide pyenv completions if [ "$1" = "--complete" ]; then echo --sh echo --no-sh exit fi if [ "$1" = "--sh" ]; then sh=1 shift elif [ "$1" = "--no-sh" ]; then nosh=1 shift fi shopt -s nullglob { for path in ${PATH//:/$'\n'}; 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 echo ${command##sh-} fi else echo ${command##sh-} fi done done } | sort | uniq