#!/usr/bin/env bash
UPP_base="/usr/libexec/upp"
UPP_cache="${HOME}/.cache/upp.out"
UPP_config="${HOME}/.config/u++/theide"

UPP_var() {
	cat <<EOF > "${UPP_config}/$1.var"
UPP = "${UPP_config}/$1;${UPP_base}/uppsrc";
OUTPUT = "${UPP_cache}";
EOF
}

if [ ! -d "${UPP_config}" ] || [ "$1" == "--init" ]; then
	rm -Rf "${UPP_cache}" \
		   "${HOME}/.config/u++" \
		   "${HOME}/.local/state/u++"
	mkdir -p "${UPP_config}"
	for n in examples reference tutorial; do
		UPP_var ${n}
		cp -RL ${UPP_base}/${n} "${UPP_config}/"
	done
	UPP_var MyApps
	mkdir -p "${UPP_config}/MyApps"
	cp ${UPP_base}/*.bm "${UPP_config}/"
	[ "$1" == "--init" ] &&
		shift 1
fi

exec ${UPP_base}/theide "$@"
