| function _mach() |
| { |
| local cur cmds c subcommand |
| COMPREPLY=() |
| |
| # Load the list of commands |
| cmds=`"${COMP_WORDS[0]}" mach-commands` |
| |
| # Look for the subcommand. |
| cur="${COMP_WORDS[COMP_CWORD]}" |
| subcommand="" |
| c=1 |
| while [ $c -lt $COMP_CWORD ]; do |
| word="${COMP_WORDS[c]}" |
| for cmd in $cmds; do |
| if [ "$cmd" = "$word" ]; then |
| subcommand="$word" |
| fi |
| done |
| c=$((++c)) |
| done |
| |
| if [[ "$subcommand" == "help" || -z "$subcommand" ]]; then |
| COMPREPLY=( $(compgen -W "$cmds" -- ${cur}) ) |
| fi |
| |
| return 0 |
| } |
| complete -o default -F _mach mach |