# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
# bash completion for rpcdebug

have rpcdebug && {
_rpcdebug_flags()
{

	local i module

	for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do
		if [[ ${COMP_WORDS[i]} == -m ]]; then
			module=${COMP_WORDS[i+1]}
		fi
	done

	if [ -n "$module" ]; then
		COMPREPLY=( $( compgen -W "$(rpcdebug -vh 2>&1 \
			| grep '^'$module' '\
			| awk '{$1 = ""; print $0}')" -- $cur ) )
	fi
}

_rpcdebug()
{
	local cur prev

	COMPREPLY=()
	cur=`_get_cword`
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case $prev in
		-s)
			_rpcdebug_flags
			return 0
			;;
		-c)
			_rpcdebug_flags
			return 0
			;;
		-m)
			COMPREPLY=( $( compgen -W 'rpc nfs nfsd nlm' -- $cur ) )
			return 0
			;;
	esac

	if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W '-v -h -m -s -c' -- $cur ) )
	fi
}
complete -F _rpcdebug rpcdebug
}
