# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 et filetype=sh
#
# bash-completion add-on for rpmlint(1)
# http://bash-completion.alioth.debian.org/

_rpmlint()
{
	COMPREPLY=()
	local cur=$2 # for _rpm_installed_packages, _filedir

	case $3 in
		-@(C|E|-@(check|extract)dir))
			_filedir -d
			return 0
			;;
		-@(f|-file))
			_filedir
			return 0
			;;
	esac


	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-i --info -I -c --check \
			-a --all -C --checkdir -h --help -v --verbose \
			-E --extractdir -p --profile -V --version -n \
			--noexception -f --file' -- $cur ) )
	else
		# Installed packages completion is slow, do it only if arg
		# does not look like a path.
		if [[ "$cur" != */* ]]; then
			type _rpm_installed_packages &>/dev/null && \
				_rpm_installed_packages
		fi
		_filedir '@(rpm|spec)'
	fi
}
complete -F _rpmlint -o filenames rpmlint

_rpmdiff()
{
	COMPREPLY=()
	local cur=$2 # for _rpm_installed_packages, _filedir

	case $3 in
		-i|--ignore)
			COMPREPLY=( $( compgen -W 'S M 5 D N L V U G F T' \
				-- $cur ) )
			return 0
			;;
		-h|--help)
			return 0
			;;
	esac

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-h --help -i --ignore' -- $cur ) )
	else
		# Installed packages completion is slow, do it only if arg
		# does not look like a path.
		if [[ "$cur" != */* ]]; then
			type _rpm_installed_packages &>/dev/null && \
				_rpm_installed_packages
		fi
		_filedir rpm
	fi
}
complete -F _rpmdiff -o filenames rpmdiff
