# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

# bash command-line completion for figlet
# author: Aaron Walker <ka0ttic@gentoo.org>

_figlet() {
	local cur prev opts x
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	opts="-f -d -c -l -r -x -t -w -p -n -D -E -C -N -s -S -k -W -o \
			-m -v -I -L -R -X"

	if [[ "${cur}" == -* || ${COMP_CWORD} -eq 1 ]] ; then
		COMPREPLY=( $(compgen -W "${opts}" -- $cur) )
		return 0
	fi

	case "${prev}" in
	-f)
		COMPREPLY=( $(compgen -f -- $cur) \
			$(compgen -W "$(\
			for x in /usr/share/figlet/*.flf ; do \
				[[ -f "${x}" ]] && { local y=${x##*/} ; echo ${y%.*} ; } \
			done)" -- $cur) )
		;;
	-d)
		_filedir -d
		;;
	-C)
		COMPREPLY=( $(compgen -f -- $cur) \
			$(compgen -W "$(\
			for x in /usr/share/figlet/*.flc ; do \
				[[ -f "${x}" ]] && { local y=${x##*/} ; echo ${y%.*} ; } \
			done)" -- $cur) )
		;;
	-m)
		COMPREPLY=( $(compgen -W "$(\
			for ((x = 1 ; x < 64 ; x++)) ; do \
				echo ${x} ; \
			done)" ) )
		;;
	-I)
		COMPREPLY=( $(compgen -W "-1 0 1 2 3 4" -- $cur) )
		;;
	esac
}
complete -o filenames -F _figlet figlet

# vim: set ft=sh tw=80 sw=4 et :