2013-05-16 04:00:01 +04:00
|
|
|
function _mach()
|
|
|
|
{
|
2013-12-19 20:42:19 +04:00
|
|
|
local cur cmds c subcommand
|
2013-05-16 04:00:01 +04:00
|
|
|
COMPREPLY=()
|
|
|
|
|
|
|
|
# Load the list of commands
|
2013-12-19 20:42:19 +04:00
|
|
|
cmds=`"${COMP_WORDS[0]}" mach-commands`
|
2013-05-16 04:00:01 +04:00
|
|
|
|
|
|
|
# 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
|