[ SEA-GHOST MINI SHELL]
_sfdisk_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-u'|'--unit')
COMPREPLY=( $(compgen -W "S C B M" -- $cur) )
return 0
;;
'-n'|'-C'|'--cylinders'|'-H'|'--heads'|'-S'|'--sectors')
COMPREPLY=( $(compgen -W "number" -- $cur) )
return 0
;;
'-O'|'-I')
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="--show-size
--id
--change-id
--print-id
--list
--dump
--increment
--unit
--one-only
--list-types
--DOS
--DOS-extended
--re-read
-N
-n
-O
-I
--verify
--version
--help
--force
--no-reread
--quiet
--Linux
--show-geometry
--show-pt-geometry
--activate=
--unhide=
--show-extended
--leave-last
--IBM
--in-order
--not-in-order
--inside-outer
--not-inside-outer
--nested
--chained
--onesector
--cylinders
--heads
--sectors"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
local DEV TYPE DEVICES=''
while read DEV TYPE; do
[ $TYPE = 'disk' ] && DEVICES+="$DEV "
done < <(lsblk -pnro name,type)
COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
return 0
}
complete -F _sfdisk_module sfdisk
SEA-GHOST - SHELL CODING BY SEA-GHOST