
_dmesg_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-F'|'--file')
			local IFS=$'\n'
			compopt -o filenames
			COMPREPLY=( $(compgen -f -- $cur) )
			return 0
			;;
		'-f'|'--facility')
			COMPREPLY=( $(compgen -W "kern user mail daemon auth syslog lpr news" -- $cur) )
			return 0
			;;
		'-l'|'--level'|'-n'|'--console-level')
			COMPREPLY=( $(compgen -W "emerg alert crit err warn notice info debug" -- $cur) )
			return 0
			;;
		'-s'|'--buffer-size')
			COMPREPLY=( $(compgen -W "size" -- $cur) )
			return 0
			;;
		'--time-format')
			COMPREPLY=( $(compgen -W "delta reltime ctime notime iso" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	OPTS="--clear
		--read-clear
		--console-off
		--show-delta
		--reltime
		--console-on
		--file
		--facility
		--human
		--kernel
		--color
		--level
		--console-level
		--nopager
		--raw
		--syslog
		--buffer-size
		--ctime
		--notime
		--time-format
		--userspace
		--follow
		--decode
		--help
		--version"
	COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
	return 0
}
complete -F _dmesg_module dmesg
