| _blockdev_module() |
| { |
| local cur prev OPTS |
| COMPREPLY=() |
| cur="${COMP_WORDS[COMP_CWORD]}" |
| prev="${COMP_WORDS[COMP_CWORD-1]}" |
| DEVS="$(lsblk -pnro name)" |
| OPTS="-h -V -q |
| --report |
| --getsz |
| --setro |
| --setrw |
| --getro |
| --getdiscardzeroes |
| --getss |
| --getpbsz |
| --getiomin |
| --getioopt |
| --getalignoff |
| --getmaxsect |
| --getbsz |
| --setbsz |
| --getsize64 |
| --setra |
| --getra |
| --setfra |
| --getfra |
| --flushbufs |
| --rereadpt |
| $DEVS" |
| case $prev in |
| '--setbsz') |
| COMPREPLY=( $(compgen -W "bytes" -- $cur) ) |
| return 0 |
| ;; |
| '--setra'|'--setfra') |
| COMPREPLY=( $(compgen -W "sectors" -- $cur) ) |
| return 0 |
| ;; |
| esac |
| COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) |
| return 0 |
| } |
| complete -F _blockdev_module blockdev |