summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/adb/_adb
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/adb/_adb')
-rw-r--r--oh-my-zsh/plugins/adb/_adb67
1 files changed, 67 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/adb/_adb b/oh-my-zsh/plugins/adb/_adb
new file mode 100644
index 0000000..78c4577
--- /dev/null
+++ b/oh-my-zsh/plugins/adb/_adb
@@ -0,0 +1,67 @@
+#compdef adb
+#autoload
+
+# in order to make this work, you will need to have the android adb tools
+
+# adb zsh completion, based on homebrew completion
+
+local -a _1st_arguments
+_1st_arguments=(
+'bugreport:return all information from the device that should be included in a bug report.'
+'connect:connect to a device via TCP/IP Port 5555 is default.'
+'devices:list all connected devices'
+'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'
+'push:copy file/dir to device'
+'reboot:reboots the device, optionally into the bootloader or recovery program'
+'reboot-bootloader:reboots the device into the bootloader'
+'remount:remounts the partitions on the device read-write'
+'root:restarts the adbd daemon with root permissions'
+'sideload:push a ZIP to device and install it'
+'shell:run remote shell interactively'
+'sync:copy host->device only if changed (-l means list but dont copy)'
+'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'
+)
+
+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); \
+ for(i=1;i<=NF;i++) {
+ if($i ~ /model:/) { split($i,m,":") } \
+ else if($i ~ /product:/) { split($i,p,":") } } \
+ printf "%s[%s(%s)] ",$1, p[2], m[2]}'):-""}
+ return
+ ;;
+esac
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "adb subcommand" _1st_arguments
+ return
+fi
+
+_files