2000-04-20 12:47:00 +02:00
|
|
|
#compdef lsdev
|
|
|
|
|
|
|
|
local state line expl
|
|
|
|
|
|
|
|
_arguments -C \
|
|
|
|
'(-P)-C[list info about device in customized devices object class]' \
|
|
|
|
'(-C -l)-P[list info about device in predefined object class]' \
|
|
|
|
'-c[specify a device class]:device class:->class' \
|
|
|
|
'-f[read flags from file]:files:_files' \
|
|
|
|
'-F[specify output format]:format:->columnname' \
|
|
|
|
'-H[display headers above columns]' \
|
|
|
|
'-h[display command usage]' \
|
|
|
|
'(-P)-l[specify device logical name]:device logical name' \
|
|
|
|
'-r[display set of values in a column]:columnname:->columnname' \
|
|
|
|
'(-P)-S[specify a device state]:device state:(Available Defined Stopped)' \
|
|
|
|
'-s[specify a device subclass]:device subclass:->subclass' \
|
2000-05-05 15:38:45 +02:00
|
|
|
'-t[specify a device type name]:device type name:->devtype' && return 0
|
2000-04-20 12:47:00 +02:00
|
|
|
|
|
|
|
case $state in
|
|
|
|
class)
|
|
|
|
_wanted devclass expl 'device class names' \
|
|
|
|
compadd - $(lsdev ${words[(r)-[CP]]:--P} -r class)
|
|
|
|
;;
|
|
|
|
subclass)
|
|
|
|
_wanted devsubclass expl 'device subclass names' \
|
|
|
|
compadd - $(lsdev ${words[(r)-[CP]]:--P} -r subclass)
|
|
|
|
;;
|
|
|
|
devtype)
|
|
|
|
_wanted devtype expl 'device type names' \
|
|
|
|
compadd - $(lsdev ${words[(r)-[CP]]:--P} -r type)
|
|
|
|
;;
|
|
|
|
columnname)
|
|
|
|
[[ $words[CURRENT-1] = -F ]] && compset -P '*[^a-zA-Z]'
|
|
|
|
_wanted devcolumnname expl 'column names' \
|
|
|
|
compadd - ${(s: :)words[(r)-C]:+name status location} \
|
|
|
|
class subclass description type
|
|
|
|
;;
|
|
|
|
esac
|