summaryrefslogtreecommitdiff
path: root/plugins/adb/_adb
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/adb/_adb')
-rw-r--r--plugins/adb/_adb11
1 files changed, 8 insertions, 3 deletions
diff --git a/plugins/adb/_adb b/plugins/adb/_adb
index 8cbf6593c..78c457746 100644
--- a/plugins/adb/_adb
+++ b/plugins/adb/_adb
@@ -48,8 +48,13 @@ _arguments \
case "$state" in
specify_device)
- _values 'devices' $(adb devices -l|awk 'NR>1&& $1 ~ /^[a-zA-Z0-9].*$/ \
- {printf "%s[%s] ",$1,$6 }')
+ _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
@@ -59,4 +64,4 @@ if (( CURRENT == 1 )); then
return
fi
-_files \ No newline at end of file
+_files