Make the option argument suggestion to match with what is allowed. In same
go tidy shell code a little bit.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
return 0
;;
'--securebits')
- local SBITS
- SBITS="noroot noroot_locked no_setuid_fixup no_setuid_fixup_locked keep_caps_locked
- -noroot -noroot_locked -no_setuid_fixup -no_setuid_fixup_locked -keep_caps_locked"
- COMPREPLY=( $(compgen -W "$SBITS" -- $cur) )
+ local prefix realcur SBITS_ALL SBITS WORD
+ realcur="${cur##*,}"
+ prefix="${cur%$realcur}"
+ SBITS_ALL="
+ {+,-}keep_caps_locked
+ {+,-}noroot
+ {+,-}noroot_locked
+ {+,-}no_setuid_fixup
+ {+,-}no_setuid_fixup_locked
+ "
+ for WORD in $SBITS_ALL; do
+ if ! [[ $prefix == *"$WORD"* ]]; then
+ SBITS="$WORD ${SBITS:-""}"
+ fi
+ done
+ compopt -o nospace
+ COMPREPLY=( $(compgen -P "$prefix" -W "$SBITS" -S ',' -- $realcur) )
return 0
;;
'--selinux-label')