# autorandr/auto-disper completion by Maciej 'macieks' Sitarz <macieks@freesco.pl>

_autorandr ()
{
	local cur prev opts lopts prfls

	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"

	opts="-h -c -s -r -l -d"
	lopts="--help --change --save --remove --load --default --force --fingerprint --config --dry-run"
	if [ -d ~/.autorandr ]; then
		prfls="`find ~/.autorandr/* -maxdepth 1 -type d -printf '%f\n'`"
	elif [ -d ~/.config/autorandr ]; then
		prfls="`find ~/.config/autorandr/* -maxdepth 1 -type d -printf '%f\n'`"
	else
		prfls=""
	fi

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

	case "${prev}" in
		-r|--remove|-l|--load|-d|--default)
			COMPREPLY=( $( compgen -W "${prfls}" -- $cur ) )
			return 0
			;;
		*)
			;;
	esac

	return 0
}
complete -F _autorandr autorandr
