From 9e416ace74656be82557ab51c674781debfb6eff Mon Sep 17 00:00:00 2001 From: Paul Ackersviller Date: Sun, 25 Nov 2007 16:55:47 +0000 Subject: Merge new completions 2386[378] onto 4.2 branch. --- Completion/Linux/Command/_lsusb | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Completion/Linux/Command/_lsusb (limited to 'Completion/Linux') diff --git a/Completion/Linux/Command/_lsusb b/Completion/Linux/Command/_lsusb new file mode 100644 index 000000000..37701acd5 --- /dev/null +++ b/Completion/Linux/Command/_lsusb @@ -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 -- cgit 1.4.1