#!/bin/bash

OPTIONS_CREATE="-f -t --type -b -s --start -e --end -o --output"
OPTIONS_PLAY="-p -a --app"
FTYPES="audio video text pdf djvu"
BOUNDARIES="by-time by-line-and-column by-phrase by-page"

_mediafragmenter() {
    COMPREPLY=()
    OPT1="${COMP_WORDS[1]}"
    CURR="${COMP_WORDS[COMP_CWORD]}"
    PREV="${COMP_WORDS[COMP_CWORD-1]}"
    if [[ ${COMP_CWORD} -eq 1 ]]; then
        COMPREPLY=( $(compgen -W "--help --version -p -f" -- ${CURR}) )
        return 0
    elif [[ ${OPT1} == "-f" ]]; then
        if [[ "$PREV" != -* ]]; then
            COMPREPLY=( $(compgen -W "$OPTIONS_CREATE" -- ${CURR}) )
            return 0
        else
            if [[ "$PREV" == "-t" || "$PREV" == "--type" ]]; then
                COMPREPLY=( $(compgen -W "$FTYPES" -- ${CURR}) )
                return 0
            fi
            if [[ "$PREV" == "-b" ]]; then
                COMPREPLY=( $(compgen -W "$BOUNDARIES" -- ${CURR}) )
                return 0
            fi
        fi
    elif [[ ${OPT1} == "-p" ]]; then
        if [[ "$PREV" != -* ]]; then
            COMPREPLY=( $(compgen -W "$OPTIONS_PLAY" -- ${CURR}) )
        fi
        return 0
    fi
}

complete -o default -F _mediafragmenter mediafragmenter
complete -o default -F _mediafragmenter ./mediafragmenter
