Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: _lsusb
- X-seq: zsh-workers 23864
- From: Clint Adams <clint@xxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: PATCH: _lsusb
- Date: Sun, 30 Sep 2007 07:38:34 -0400
- Mail-followup-to: zsh-workers@xxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
Completion for lsusb
Index: Completion/Linux/Command/_lsusb
===================================================================
RCS file: Completion/Linux/Command/_lsusb
diff -N Completion/Linux/Command/_lsusb
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Completion/Linux/Command/_lsusb 30 Sep 2007 11:37:22 -0000
@@ -0,0 +1,31 @@
+#compdef lsusb
+
+local context state line usbidsline vendorid pair
+typeset -A opt_args
+
+_arguments \
+ '(-v --verbose)'{-v,--verbose}'[be verbose]' \
+ '-s:bus and/or devnum to show:' \
+ '-d:vendor and product to show:->vendorproduct' \
+ '-D:device to show:_files' \
+ '-t[dump the physical USB device hierarchy as a tree]' \
+ '(-V --version)'{-V,--version}'[print version info and exit]' && return 0
+
+ if [[ ${+_lsusb_vendors} -eq 0 ]]; then
+ typeset -A _lsusb_vendors _lsusb_devices
+ while IFS="" read usbidsline
+ do
+ case "$usbidsline" in
+ ((#b)([0-9a-f]##) ##(*))
+ vendorid="$match[1]"
+ _lsusb_vendors[$vendorid]="$match[2]"
+ ;;
+ ( (#b)([0-9a-f]##) ##(*)))
+ pair="$vendorid:$match[1]"
+ _lsusb_devices[${pair}]="$match[2]"
+ ;;
+ esac
+ done < <(zcat /var/lib/usbutils/usb.ids)
+fi
+
+compadd -k _lsusb_devices
Messages sorted by:
Reverse Date,
Date,
Thread,
Author