You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							67 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							67 lines
						
					
					
						
							2.2 KiB
						
					
					
				| #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
 | |
| 
 |