[ -z "$BASH_VERSION" ] && return

_vbootstrap_filedir()
{
	local IFS=$'\t\n' xspec #glob

	#glob=$(set +o|grep noglob) # save glob setting.
	#set -f		 # disable pathname expansion (globbing)

	xspec=${1:+"!*.$1"}	# set only if glob passed in as $1
	COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -f -X "$xspec" -- "$cur" ) \
		    $( compgen -d -- "$cur" ) )
	#eval "$glob"    # restore glob setting.
} # _vbootstrap_filedir()

_vbuilder()
{
    local opts cur prev first
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    first="${COMP_WORDS[1]}"

    ## The basic options we'll complete.
    options="--profile --version --arch --category --fetch-url --dist-upgrade --unionfs --target --no-build-essential --with-compat32 --rpmbuild-define --rpmbuild-with --rpmbuild-without --sign --no-install --login --bootstrap-dir --unionfs-dir --cache-dir --built-rpms-dir --debug"
    actions="clean build build-rpm install-rpm remove-rpm"
    opts="$options $actions"

    _arch=$(rpm --eval %_arch)

    ## Complete the arguments to some of the basic commands.
    case "${prev}" in
	--profile)
	    local running=$(ls /etc/vbootstrap/profile.d/*.conf | sed -e "s|/etc/vbootstrap/profile.d/||g" -e "s|\.conf||g")
	    COMPREPLY=( $(compgen -W "${running}" -- "${cur}") )
	    ;;

	--version)
	    local running="VineSeed 6.5 6 5.2 4.2"
	    COMPREPLY=( $(compgen -W "${running}" -- "${cur}") )
	    ;;

	--arch)
	    local running="i386 ppc x86_64 arm"
	    COMPREPLY=( $(compgen -W "${running}" -- "${cur}") )
	    ;;

	--category)
	    local running="main proposed-updates,main plus,main nonfree,plus,main test,nonfree,plus,main test,plus,main test,main"
	    COMPREPLY=( $(compgen -W "${running}" -- "${cur}") )
	    ;;

	--target)
	    local running="$(cat /usr/lib/rpm/rpmrc | grep arch_canon: | sed -e "s/arch_canon:[[:blank:]]*\(.*\):.*/\1/") noarch"
	    COMPREPLY=( $(compgen -W "${running}" -- "${cur}") )
	    ;;

	--bootstrap-dir|--unionfs-dir|--cache-dir|--built-rpms-dir)
	    if [ $COMP_CWORD -eq 1 -o "${COMPREPLY+set}" != "set" ]; then
		_vbootstrap_filedir ''
	    fi
	    ;;

	build-rpm)
	    if [ $COMP_CWORD -eq 1 -o "${COMPREPLY+set}" != "set" ]; then
		_vbootstrap_filedir 'src.rpm'
	    fi
	    ;;

	install-rpm|remove-rpm)
	    if [ $COMP_CWORD -eq 1 -o "${COMPREPLY+set}" != "set" ]; then
		_vbootstrap_filedir 'rpm'
	    fi
	    ;;

	*)
	    COMPREPLY=($(compgen -W "${opts}" -- "${cur}"))
	    #return 0
	    ;;
    esac

    if [[ "${cur}" == -* ]] ; then
    	COMPREPLY=($(compgen -W "${opts}" -- "${cur}"))
    	#return 0
    fi

}

complete -o filenames -o nospace -F _vbuilder vbuilder

### end of file