97 lines
2.0 KiB
Plaintext
97 lines
2.0 KiB
Plaintext
_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
|