_lscpu_module()
{
	local cur OPTS_ALL
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'--extended='|'=')
			local prefix realcur OPTS
			cur=${cur#=}
			realcur="${cur##*,}"
			prefix="${cur%$realcur}"
			OPTS_ALL="CPU CORE SOCKET NODE
				BOOK CACHE POLARIZATION ADDRESS
				CONFIGURED ONLINE MAXMHZ MINMHZ"
			for WORD in $OPTS_ALL; do
				if ! [[ $prefix == *"$WORD"* ]]; then
					OPTS="$WORD $OPTS"
				fi
			done
			compopt -o nospace
			COMPREPLY=( $(compgen -P "$prefix" -W "$OPTS" -S ',' -- $realcur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS_ALL="--all
				--online
				--offline
				--extended=
				--parse=
				--sysroot
				--hex
				--help
				--version"
			COMPREPLY=( $(compgen -W "${OPTS_ALL[*]}" -- $cur) )
			return 0
			;;
	esac
	local IFS=$'\n'
	compopt -o filenames
	COMPREPLY=( $(compgen -f -- $cur) )
	return 0
}
complete -F _lscpu_module lscpu
