summaryrefslogtreecommitdiff
path: root/plugins/adb/_adb
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/adb/_adb')
-rw-r--r--plugins/adb/_adb16
1 files changed, 15 insertions, 1 deletions
diff --git a/plugins/adb/_adb b/plugins/adb/_adb
index f30f3247f..e3c20d751 100644
--- a/plugins/adb/_adb
+++ b/plugins/adb/_adb
@@ -13,9 +13,13 @@ _1st_arguments=(
'disconnect:disconnect from a TCP/IP device. Port 5555 is default.'
'emu:run emulator console command'
'forward:forward socket connections'
+'get-devpath:print the device path'
+'get-serialno:print the serial number of the device'
+'get-state:print the current state of the device: offline | bootloader | device'
'help:show the help message'
'install:push this package file to the device and install it'
'jdwp:list PIDs of processes hosting a JDWP transport'
+'keygen:generate adb public/private key'
'kill-server:kill the server if it is running'
'logcat:view device log'
'pull:copy file/dir from device'
@@ -30,6 +34,7 @@ _1st_arguments=(
'start-server:ensure that there is a server running'
'tcpip:restart host adb in tcpip mode'
'uninstall:remove this app package from the device'
+'usb:restart the adbd daemon listing on USB'
'version:show version num'
'wait-for-device:block until device is online'
)
@@ -38,11 +43,20 @@ local expl
local -a pkgs installed_pkgs
_arguments \
+ '-s[devices]:specify device:->specify_device' \
'*:: :->subcmds' && return 0
+case "$state" in
+ specify_device)
+ _values -C 'devices' ${$(adb devices -l|awk 'NR>1&& $1 \
+ {sub(/ +/," ",$0);gsub(":","\\:",$1); printf "%s[%s] ",$1, $NF}'):-""}
+ return
+ ;;
+esac
+
if (( CURRENT == 1 )); then
_describe -t commands "adb subcommand" _1st_arguments
return
fi
-_files
+_files \ No newline at end of file