_slapd-cli()
{
    local CUR PREV ACTIONS
    COMPREPLY=()
    CUR="${COMP_WORDS[COMP_CWORD]}"
    PREV="${COMP_WORDS[COMP_CWORD-1]}"
    ACTIONS="start stop forcestop restart debug force-restart status configtest reindex backup restore backupconfig restoreconfig checksync importflatconfigtemplate importldifconfigtemplate convertconfig buildconfigtemplate importdatatemplate lloadstart lloadstop lloadstatus"


    if [[ ${COMP_WORDS[*]} == *"convertconfig"* ]] || [[ ${COMP_WORDS[*]} == *"buildconfigtemplate"* ]] ; then
        # if the action requires a filename, autocomplete with a filename

        if [[ $( type -t _longopt ) == function ]] ; then
            # better filename competion with function _longopt
            _longopt
        else
            COMPREPLY=( $(compgen -f -- ${CUR}) )
        fi

        return 0
    else
        for A in ${ACTIONS} ; do
            if [[ ${COMP_WORDS[*]} == *"${A}"* ]] ; then
                # Don't autocomplete if we already have a valid action
                return 0
            fi
        done
        # Autocomplete with given actions
        COMPREPLY=( $(compgen -W "${ACTIONS}" -- ${CUR}) )
        return 0
    fi
}
complete -F _slapd-cli slapd-cli
