# ngcp-upgrade(8) completion                                     -*- shell-script -*-

_ngcp-upgrade()
{
    local cur prev cword
    _init_completion || return

    case $prev in
        --pause-before-step)
            local -a scripts=()
            for f in /usr/share/ngcp-upgrade/steps/*/* ; do
                [[ -x "$f" ]] && scripts+=( $(basename "$f") )
            done
            COMPREPLY=( $( compgen -W '${scripts[@]}' -- "$cur" ) )
            return
            ;;

        --target)
            local -a target_releases=()
            for f in /usr/share/ngcp-upgrade/scenarios/* ; do
                [[ -d "$f" ]] && target_releases+=( $(basename "$f") )
            done
            COMPREPLY=( $( compgen -W '${target_releases[@]}' -- "$cur" ) )
            return
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        local -a options=(
            --devel-mode
            --force
            --help
            --pause-before-step
            --skip-db-backup
            --step-by-step
            --target
        )
        COMPREPLY=( $( compgen -W '${options[@]}' -- "$cur" ) )
        return 0
    else
        if [[ $cword -eq 1 ]]; then
            COMPREPLY=( $( compgen -W '--target' -- "$cur" ) )
        fi
    fi
} &&
complete -F _ngcp-upgrade ngcp-upgrade

# ex: filetype=bash shiftwidth=4 expandtab
