192263e
# bash completion for mock                                           -*- sh -*-
192263e
4f81c2f
# TODO: --copyin, --copyout
4f81c2f
192263e
_mock()
192263e
{
4f81c2f
    local cur prev plugins cfgdir
192263e
192263e
    COMPREPLY=()
192263e
    cur=${COMP_WORDS[COMP_CWORD]}
192263e
    prev=${COMP_WORDS[COMP_CWORD-1]}
31fda35
    plugins='ccache yum_cache root_cache bind_mount'
c2f930c
    cfgdir=/etc/mock
c2f930c
c2f930c
    count=0
c2f930c
    for i in ${COMP_WORDS[@]} ; do
c2f930c
        [ $count -eq $COMP_CWORD ] && break
31fda35
        if [[ "$i" == --configdir ]] ; then
31fda35
            cfgdir="${COMP_WORDS[((count+1))]}"
31fda35
        elif [[ "$i" == --configdir=* ]] ; then
31fda35
            cfgdir=${i/*=/}
31fda35
        fi
c2f930c
        count=$((++count))
c2f930c
    done
192263e
192263e
    case $prev in
192263e
        -r)
c2f930c
            COMPREPLY=( $( command ls $cfgdir | \
192263e
                sed -ne 's/^\('$cur'.*\)\.cfg$/\1/p') )
192263e
            return 0
192263e
            ;;
31fda35
        -@(-help|h))
192263e
            return 0
192263e
            ;;
192263e
    esac
192263e
31fda35
    # --name=value style option
31fda35
    if [[ "$cur" == *=* ]] ; then
31fda35
        prev=${cur/=*/}
31fda35
        cur=${cur/*=/}
31fda35
        case $prev in 
31fda35
            --@(config|result)dir)
31fda35
                _filedir -d
31fda35
                return 0
31fda35
                ;;
31fda35
            --@(en|dis)able-plugin)
31fda35
                COMPREPLY=( $( compgen -W "$plugins" -- $cur ) )
31fda35
                return 0
31fda35
                ;;
4f81c2f
            --@(arch|define|with|without|uniqueext|rpmbuild_timeout))
31fda35
                return 0
31fda35
                ;;
31fda35
        esac
31fda35
    fi
31fda35
192263e
    if [[ "$cur" == -* ]] ; then
4f81c2f
        COMPREPLY=( $( compgen -W '--version -h --help --rebuild --chroot \
4f81c2f
            --shell --clean --init --installdeps --install --update \
4f81c2f
            --orphanskill -r --offline --no-clean --cleanup-after \
4f81c2f
            --no-cleanup-after --arch= --define= --with= --without= \
4f81c2f
            --resultdir= --uniqueext= --configdir= --rpmbuild_timeout -v \
4f81c2f
            --verbose -q --quiet --trace --enable-plugin= --disable-plugin=' \
4f81c2f
            -- $cur ) )
192263e
    else
192263e
        _filedir '?(no)src.rpm'
192263e
    fi
192263e
}
192263e
complete -F _mock $filenames mock