_blkzone_module() | |
{ | |
local cur prev OPTS | |
COMPREPLY=() | |
cur="${COMP_WORDS[COMP_CWORD]}" | |
prev="${COMP_WORDS[COMP_CWORD-1]}" | |
case $prev in | |
'-o'|'--offset') | |
COMPREPLY=( $(compgen -W "sector" -- $cur) ) | |
return 0 | |
;; | |
'-l'|'--length') | |
COMPREPLY=( $(compgen -W "size" -- $cur) ) | |
return 0 | |
;; | |
'-c'|'--count') | |
COMPREPLY=( $(compgen -W "number" -- $cur) ) | |
return 0 | |
;; | |
'-h'|'--help'|'-V'|'--version') | |
return 0 | |
;; | |
esac | |
case $cur in | |
-*) | |
case $prev in | |
'report'|'reset') | |
OPTS="--verbose --offset --length --count" | |
;; | |
*) | |
OPTS="--help --version" | |
;; | |
esac | |
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) | |
return 0 | |
;; | |
*) | |
case $prev in | |
'report'|'reset') | |
;; | |
*) | |
OPTS="report reset" | |
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) | |
;; | |
esac | |
return 0 | |
;; | |
esac | |
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) ) | |
return 0 | |
} | |
complete -F _blkzone_module blkzone |