blob: 9401f89ac04b86a2b2cee8e0458ae3e07e3cbd40 [file] [log] [blame]
_sfdisk_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-d'|'--dump'|'-J'|'--json'|'-l'|'--list'|'-F'|'--list-free'|'-r'|'--reorder'|'-s'|'--show-size'|'-V'|'--verify'|'-A'|'--activate'|'--delete')
COMPREPLY=( $(compgen -W "$(lsblk -dpnro name)" -- $cur) )
return 0
;;
'-N'|'--partno')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
'--color'|'-w'|'--wipe'|'-W'|'--wipe-partitions')
COMPREPLY=( $(compgen -W "auto never always" -- $cur) )
return 0
;;
'-o'|'--output')
local prefix realcur OUTPUT_ALL OUTPUT
realcur="${cur##*,}"
prefix="${cur%$realcur}"
OUTPUT_ALL="
Attrs Boot Bsize Cpg Cylinders Device End
End-C/H/S Flags Fsize Id Name Sectors Size
Slice Start Start-C/H/S Type Type-UUID UUID
"
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'|'--backup-file')
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
return 0
;;
'-h'|'--help'|'-v'|'--version')
return 0
;;
esac
case $cur in
'=')
cur=${cur#=}
;;
-*)
OPTS="
--activate
--dump
--json
--show-geometry
--list
--list-free
--reorder
--show-size
--list-types
--verify
--delete
--part-label
--part-type
--part-uuid
--part-attrs
--append
--backup
--bytes
--move-data
--force
--color
--partno
--no-act
--no-reread
--no-tell-kernel
--backup-file
--output
--quiet
--wipe
--wipe-partitions
--label
--label-nested
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _sfdisk_module sfdisk