]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - bash-completion/wipefs
Merge branch 'logind' of https://github.com/thkukuk/util-linux
[thirdparty/util-linux.git] / bash-completion / wipefs
index e0e32867e4a9d8a14cde7f07b9db7ca29f03add9..8e49a8bda1a0b5896b2a454ebbf2e1982298559a 100644 (file)
@@ -5,6 +5,20 @@ _wipefs_module()
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        case $prev in
+               '-O'|'--output')
+                       local prefix realcur OUTPUT_ALL OUTPUT
+                       realcur="${cur##*,}"
+                       prefix="${cur%$realcur}"
+                       OUTPUT_ALL="UUID LABEL LENGTH TYPE OFFSET USAGE DEVICE"
+                       for WORD in $OUTPUT_ALL; do
+                               if ! [[ $prefix == *"$WORD"* ]]; then
+                                       OUTPUT="$WORD ${OUTPUT:-""}"
+                               fi
+                       done
+                       compopt -o nospace
+                       COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
+                       return 0
+                       ;;
                '-o'|'--offset')
                        COMPREPLY=( $(compgen -W "offset" -- $cur) )
                        return 0
@@ -21,14 +35,28 @@ _wipefs_module()
        esac
        case $cur in
                -*)
-                       OPTS="--all --force --help --no-act --offset --parsable --quiet --types --version"
+                       OPTS="
+                               --all
+                               --backup
+                               --force
+                               --noheadings
+                               --json
+                               --lock
+                               --no-act
+                               --offset
+                               --output
+                               --parsable
+                               --quiet
+                               --types
+                               --help
+                               --version
+                       "
                        COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
                        return 0
                        ;;
        esac
-       local DEVS
-       DEVS=''; while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+       compopt -o bashdefault -o default
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _wipefs_module wipefs