#-*- mode: shell-script;-*-

# hglc(1) completion
# Copyright 2014 Heiko Schäfer <heiko@hgl.rangun.de>

have hglc &&
_hglc()
{
	local cur prev options keys zlevels
  
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}
	options='-V --version --quiet --protocols -o --output -I -v --verbose \
		-t --target -p -k --sign -? --help --usage -z --compression-level'

	keys=$( gpg -K | grep "^sec[[:space:]]*" | cut -d' ' -f4 | sed 's/^.*\///' )  
	zlevels='0 1 2 3 4 5 6 7 8 9'

	case $prev in
	--sign|-k)
	  COMPREPLY=( $( compgen -W "$keys" | grep ^$cur ) )
          ;;
	--compression-level|-z)
	  COMPREPLY=( $( compgen -W "$zlevels" | grep ^$cur ) )
	      ;;
	*)
	  COMPREPLY=( $(
		compgen -G "${cur}*.hgl"
		compgen -W "$options" | grep "^$cur"
	  ) )
	  ;;
	esac
  
	return 0
}

[ "$have" ] && complete -F _hglc -o filenames -o plusdirs hglc
