con_opt::__con_dev_completion()
{
	COMPREPLY=()

	local cur="${COMP_WORDS[COMP_CWORD]}" prev="" pprev=""
	[ ${COMP_CWORD} -lt 1 ] || prev=${COMP_WORDS[COMP_CWORD-1]}
	[ ${COMP_CWORD} -lt 2 ] || pprev=${COMP_WORDS[COMP_CWORD-2]}

	case ${pprev} in
	# Sub commands: 'group sub'
		status)
			case ${prev} in

			esac
			;;
		setup)
			case ${prev} in
				user)
					COMPREPLY=( $(compgen -W "" -- "${cur}") )
					;;
				project)
					COMPREPLY=( $(compgen -W "" -- "${cur}") )
					;;
				meta)
					COMPREPLY=( $(compgen -W "" -- "${cur}") )
					;;
			esac
			;;
		release)
			case ${prev} in

			esac
			;;
		bs)
			case ${prev} in
				status)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				init)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				strap)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				configure)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				build)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				check)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				dist)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				distcheck)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				clean)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				setversion)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				rebuild)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
			esac
			;;
		vc)
			case ${prev} in
				status)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				init)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				checkout)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				check)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				commit)
					COMPREPLY=( $(compgen -A file -- "${cur}") )
					;;
				push)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				pull)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				diff)
					COMPREPLY=( $(compgen -A file -- "${cur}") )
					;;
				version)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				tag)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				branch)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				changelog)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
				news)
					COMPREPLY=( $(compgen  -- "${cur}") )
					;;
			esac
			;;
		meta)
			case ${prev} in
				status)
					COMPREPLY=( $(compgen -W "$(find '/sbuild-nonexistent/.con-dev' -maxdepth 1 -mindepth 1 -name '*.conf' -exec basename '{}' '.conf' \; 2>/dev/null | tr '\n' ' ')" -- "${cur}") )
					;;
				env)
					COMPREPLY=( $(compgen -W "$(find '/sbuild-nonexistent/.con-dev' -maxdepth 1 -mindepth 1 -name '*.conf' -exec basename '{}' '.conf' \; 2>/dev/null | tr '\n' ' ')" -- "${cur}") )
					;;
				shell)
					COMPREPLY=( $(compgen -W "$(find '/sbuild-nonexistent/.con-dev' -maxdepth 1 -mindepth 1 -name '*.conf' -exec basename '{}' '.conf' \; 2>/dev/null | tr '\n' ' ')" -- "${cur}") )
					;;
				rebuild)
					COMPREPLY=( $(compgen -W "$(find '/sbuild-nonexistent/.con-dev' -maxdepth 1 -mindepth 1 -name '*.conf' -exec basename '{}' '.conf' \; 2>/dev/null | tr '\n' ' ')" -- "${cur}") )
					;;
			esac
			;;
	*)
		# Some other non command arg
		case ${prev} in
			# Options
			-p)
				COMPREPLY=( $(compgen -W "$(find '/sbuild-nonexistent/.con-dev' -maxdepth 1 -mindepth 1 -name '*.conf' -exec basename '{}' '.conf' \; 2>/dev/null | tr '\n' ' ')" -- "${cur}") )
				;;
			-F)
				COMPREPLY=( $(compgen -A file -- "${cur}") )
				;;
			-D)
				COMPREPLY=( $(compgen -A dir -- "${cur}") )
				;;
			# Commands: 'command'
		status)
			COMPREPLY=( $(compgen  -- "${cur}") )
			;;
		setup)
			COMPREPLY=( $(compgen -W "user project meta" -- "${cur}") )
			;;
		release)
			COMPREPLY=( $(compgen -W "snapshot sync version notes dist commit upload announce package  sync.. version.. notes.. dist.. commit.. upload.. announce.. package.. " -- "${cur}") )
			;;
		bs)
			COMPREPLY=( $(compgen -W "status init strap configure build check dist distcheck clean setversion rebuild" -- "${cur}") )
			;;
		vc)
			COMPREPLY=( $(compgen -W "status init checkout check commit push pull diff version tag branch changelog news" -- "${cur}") )
			;;
		meta)
			COMPREPLY=( $(compgen -W "status env shell rebuild" -- "${cur}") )
			;;
			# Initial arg
			*)
				COMPREPLY=( $(compgen -W " -h -v -q -V -B -A -K -S -p -c -N -F -D status  setup  release  bs  vc  meta" -- "${cur}") )
				;;
		esac
	esac
} &&
complete -F con_opt::__con_dev_completion "con-dev" &&
printf "Completion added: %s (%s).\n" "con-dev" "con_opt::__con_dev_completion" >&2
