_mtctl_completions() { case $COMP_CWORD in 1) local suggestions=($(compgen -W "start stop restart status create backup list version help" -- "${COMP_WORDS[1]}")) ;; 2) if [ "${COMP_WORDS[1]}" == "help" ] || [ "${COMP_WORDS[1]}" == "list" ] || [ "${COMP_WORDS[1]}" == "version" ]; then return; fi local suggestions=($(cd $(cat $HOME/.mtctl/config | grep 'location' | sed -e 's/location\=//')/worlds && compgen -d "${COMP_WORDS[2]}")) ;; *) return ;; esac if [ "${#suggestions[@]}" == "1" ]; then local number=$(echo ${suggestions[0]/%\ */}) COMPREPLY=("$number") else COMPREPLY=("${suggestions[@]}") fi } complete -F _mtctl_completions mtctl