# bash completion for dnf5

_do_dnf5_completion()
{
    local cur prev words cword comp_args

    # Test if bash-completion supports "_comp_initialize" (added in bash-completion 2.12)
    type _comp_initialize >/dev/null 2>&1
    if [[ $? -eq 0 ]]; then
        _comp_initialize -n "><=;|&(:" -- "$@" || return
    else
        # legacy function call (deprecated since bash-completion 2.12)
        _init_completion -n "><=;|&(:" -- "$@" || return
    fi

    mapfile -t COMPREPLY <<<$("${1}" "--complete=${cword}" "${words[@]}")
}

complete_cmds="dnf5"
dnf_target=$(readlink -f "/usr/bin/dnf")

if [ "$dnf_target" = "/usr/bin/dnf5" ]; then
    complete_cmds+=" dnf"
fi

complete -F _do_dnf5_completion -o nosort -o nospace $complete_cmds
