#!/usr/bin/env bash
# based on https://github.com/urfave/cli/blob/v2.3.0/autocomplete/bash_autocomplete

_cli_bash_autocomplete() {
    if [[ "${COMP_WORDS[0]}" != "source" ]]; then
        local cur opts
        COMPREPLY=()
        cur="${COMP_WORDS[COMP_CWORD]}"
        if [[ "$cur" == "-"* ]]; then
            opts=$("${COMP_WORDS[@]:0:$COMP_CWORD}" "${cur}" --generate-bash-completion)
        else
            opts=$("${COMP_WORDS[@]:0:$COMP_CWORD}" --generate-bash-completion)
        fi
        IFS=$'\n' read -d '' -ra COMPREPLY < <(compgen -W "${opts}" -- "${cur}")
        return 0
    fi
}

complete -o bashdefault -o default -o nospace -F _cli_bash_autocomplete sops
