_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
	COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
	return 0
}
complete -F _sfdisk_module sfdisk
