The initial bash-completion missed swapon options -L and -U. Use of block device was proposed to be more appropriate than a path to a file. Requested-by: Karel Zak <kzak@xxxxxxxxxx> References: http://marc.info/?l=util-linux-ng&m=136517310727426&w=2 Signed-off-by: Sami Kerola <kerolasa@xxxxxx> --- bash-completion/swapon | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bash-completion/swapon b/bash-completion/swapon index e127153..7656d4e 100644 --- a/bash-completion/swapon +++ b/bash-completion/swapon @@ -19,6 +19,18 @@ _swapon_module() COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) ) return 0 ;; + '-U') + local UUIDS + UUIDS="$(lsblk -nrp -o FSTYPE,UUID | awk '$1 ~ /swap/ { print $2 }')" + COMPREPLY=( $(compgen -W "$UUIDS" -- $cur) ) + return 0 + ;; + '-L') + local LABELS + LABELS="$(lsblk -nrp -o FSTYPE,LABEL | awk '$1 ~ /swap/ { print $2 }')" + COMPREPLY=( $(compgen -W "$LABELS" -- $cur) ) + return 0 + ;; '-h'|'--help'|'-V'|'--version') return 0 ;; @@ -42,10 +54,9 @@ _swapon_module() return 0 ;; esac - # FIXME: compgen will split SPEC= from '=' point. The append - # comma separated value problem is very similar. - compopt -o filenames - COMPREPLY=( $(compgen -f -- $cur) ) + local DEVS + DEVS="$(lsblk -nrp -o FSTYPE,NAME | awk '$1 ~ /swap/ { print $2 }')" + COMPREPLY=( $(compgen -W "$DEVS" -- $cur) ) return 0 } complete -F _swapon_module swapon -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html