blob: 60d85724cdf00f45658ec92c379b2c1a3619b405 [file] [log] [blame]
_swapoff_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-a'|'--all')
return 0
;;
'-U'|'UUID=')
# only works for block devices, i.e., not for swap files.
local SWAPS
SWAPS="$(swapon --show=TYPE,NAME --raw --noheading | \
awk '$1 !~ /file/ { print $2 }')"
[ -z "$SWAPS" ] && return 0
local UUIDS
UUIDS="$(lsblk -nrp -o UUID "$SWAPS")"
COMPREPLY=( $(compgen -W "$UUIDS" -- $cur) )
return 0
;;
'-L'|'LABEL=')
# only works for block devices, i.e., not for swap files.
local SWAPS
SWAPS="$(swapon --show=TYPE,NAME --raw --noheading | \
awk '$1 !~ /file/ { print $2 }')"
[ -z "$SWAPS" ] && return 0
local LABELS
LABELS="$(lsblk -nrp -o LABEL "$SWAPS")"
COMPREPLY=( $(compgen -W "$LABELS" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="-L
-U
--all
--verbose
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local DEVS
DEVS="$(swapon --show=NAME --raw --noheading)"
COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
return 0
}
complete -F _swapoff_module swapoff