# adb completion -*- shell-script -*- # Use of this file is deprecated. Upstream completion is available in # the Android SDK, use that instead. _adb_command_usage() { COMPREPLY=($(compgen -W \ '$("$1" help 2>&1 | command grep "^ *\(adb \)\? *$2 " \ | command sed -e "s/[]|[]/\n/g" | _parse_help -)' -- "$cur")) } _adb() { local cur prev words cword _init_completion || return case $prev in -s | -p | --algo | --key | --iv) return ;; -f) _filedir return ;; esac local cmd i for ((i = 1; i < cword; i++)); do if [[ ${words[i]} != -* && ${words[i - 1]} != -[sp] ]]; then cmd="${words[i]}" break fi done if [[ ! -v cmd ]]; then local tmp=() if [[ ! $cur || $cur == -* ]]; then tmp+=($(compgen -W '$(_parse_help "$1" help)' -- "$cur")) fi if [[ ! $cur || $cur != -* ]]; then tmp+=($($1 help 2>&1 | awk '$1 == "adb" { print $2 }')) tmp+=(devices connect disconnect sideload) fi COMPREPLY=($(compgen -W '${tmp[@]}' -- "$cur")) return fi # TODO: more and better command completions _adb_command_usage "$1" $cmd case $cmd in push | restore | sideload) _filedir ;; forward) COMPREPLY=($(compgen -W \ '$("$1" help 2>&1 | command sed -ne "s/^ *adb *forward *-/-/p" | \ _parse_help -)' -- "$cur")) ;; reboot) COMPREPLY=($(compgen -W 'bootloader recovery' -- "$cur")) ;; esac } && complete -F _adb adb # ex: filetype=sh