# gradient_convert completion -*- shell-script -*-

_gradient_convert()
{
    local cur prev words cword split
    _init_completion -s || return

    case "$prev" in
        --help | -h | --version | -V | --capabilities | -c | --graphviz | -G)
            return
            ;;
        --backtrace-file)
            _filedir
            return
            ;;
        --backtrace-format)
            COMPREPLY=($(compgen -W "json plain xml" -- "$cur"))
            return
            ;;
        --input-format | -i)
            # output from bin/gradient-convert-read
            COMPREPLY=($(compgen -W "cpt ggr gpl grd grd3 grd5 jgd psp qgs svg" -- "$cur"))
            return
            ;;
        --output-format | -o)
            # output from bin/gradient-convert-write
            COMPREPLY=($(compgen -W "c3g cpt css3 ggr gpf grd3 inc jgd lut map pg png pov psp qgs sao svg" -- "$cur"))
            return
            ;;
    esac

    $split && return

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
        [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
        return
    fi

    _filedir
} &&
    complete -F _gradient_convert gradient-convert
