complete.freebsd   [plain text]


#Date: Wed, 31 Jan 2001 12:53:56 -0800
#From: Aaron Smith <aaron@mutex.org>
#To: freebsd-ports@freebsd.org
#Subject: useful bash completion function for pkg commands
#Message-ID: <20010131125356.G52003@gelatinous.com>

#hi all. i just wanted to share this bash completion function i wrote that
#completes package names for pkg_info and pkg_delete. i find this a great
#help when dealing with port management. programmed completion requires
#bash-2.04.

_pkg_func ()
{   
    local cur

    cur=${COMP_WORDS[COMP_CWORD]}

    if [[ $cur == '-' ]]; then
        if [[ ${COMP_WORDS[0]} == 'pkg_info' ]]; then
                COMPREPLY=(-a -c -d -D -i -k -r -R -p -L -q -I -m -v -e -l)
                return 0;
        elif [[ ${COMP_WORDS[0]} == 'pkg_delete' ]]; then
                COMPREPLY=(-v -D -d -n -f -p)
                return 0;
        fi
    fi

    COMPREPLY=( $(compgen -d /var/db/pkg/$cur | sed sN/var/db/pkg/NNg) )
    return 0
}
complete -F _pkg_func pkg_delete pkg_info