| _delpart_module() |
| { |
| local cur prev OPTS |
| COMPREPLY=() |
| cur="${COMP_WORDS[COMP_CWORD]}" |
| prev="${COMP_WORDS[COMP_CWORD-1]}" |
| case $prev in |
| '-h'|'--help'|'-V'|'--version') |
| return 0 |
| ;; |
| esac |
| case $COMP_CWORD in |
| 1) |
| local DEV TYPE DEVICES='' |
| while read DEV TYPE; do |
| [ $TYPE = 'disk' ] && DEVICES+="$DEV " |
| done < <(lsblk -pnro name,type) |
| OPTS="--help --version $DEVICES" |
| COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) |
| ;; |
| 2) |
| prev="${COMP_WORDS[COMP_CWORD-1]}" |
| COMPREPLY=( $(compgen -W "$(cat /sys/block/${prev##*/}/*/partition 2>/dev/null)" -- $cur) ) |
| ;; |
| esac |
| return 0 |
| } |
| complete -F _delpart_module delpart |