#!/bin/bash

_ugrd_autocomplete() {
    local cur prev args
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    args="-c --config --kernel-version --kver --log-file --log-level"
    while read -r option _; do
	args+=" ${option}"
    done <<< "$(ugrd --dump_args)"

    args+=" $(ls)"
    COMPREPLY=()
    case "${prev}" in
		--config|-c)
			mapfile -t COMPREPLY < <(compgen -f -- "${cur}")
			return 0
			;;
		--kernel-version|--kver)
			mapfile -t COMPREPLY < <(compgen -W "$(ls /lib/modules)" -- "${cur}")
			return 0    
			;;
		*)
			if [[ "${cur}" == -* ]]; then
				mapfile -t COMPREPLY < <(compgen -W "${args}" -- "${cur}")
				return 0
			fi
			mapfile -t COMPREPLY < <(compgen -f -- "${cur}")
			return 0
			;;
	esac
}

complete -F _ugrd_autocomplete ugrd
