#!/usr/bin/env zsh
#####################################################################

USAGE__options='
	-e, --exit-code         desired exit code of the function (default "0")
	-f, --output-function   one of the zsh/utils output functions (default "success")
	-m, --message           a message to display (default "Hello, World!")
'

USAGE__description='
	a simple hello-world-style script which allows specific scwrypts
	conditions to be quickly emulated
'

#####################################################################

MAIN() {
	local output_function=success
	local exit_code=0
	local message='Hello, world!'

	eval "${ZSHPARSEARGS}"

	##########################################

	command -v "echo.${output_function}" &>/dev/null || {
		echo.warning "no such function echo.${output_function} exists; swapping to echo.status"
		output_function=status
	}

	"echo.${output_function}" "${message}"
	return ${exit_code}
}

#####################################################################

MAIN.parse() {
	local parsed=0

	case "${1}" in
		( -e | --exit-code       ) parsed=2; exit_code="${2}"       ;;
		( -f | --output-function ) parsed=2; output_function="${2}" ;;
		( -m | --message         ) parsed=2; message="${2}"         ;;
	esac

	return "${parsed}"
}
