Bug 799680 - Add a bash completion script for mach [r=gps]

DONTBUILD (not part of the build)
This commit is contained in:
Matt Brubeck 2013-05-15 17:00:01 -07:00
parent 256d6a4bf4
commit 1f808bd8c9
2 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1,30 @@
function _mach()
{
local cur cmds c subcommand mach
COMPREPLY=()
# Load the list of commands
mach=`which mach || echo ./mach`
cmds=`$mach 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

View File

@ -15,9 +15,14 @@ class BuiltinCommands(object):
def __init__(self, context):
self.context = context
@Command('mach-commands', category='misc',
description='List all mach commands.')
def commands(self):
print("\n".join(self.context.commands.command_handlers.keys()))
@Command('mach-debug-commands', category='misc',
description='Show info about available mach commands.')
def commands(self):
def debug_commands(self):
import inspect
handlers = self.context.commands.command_handlers