#!/usr/bin/env bash

set -euo pipefail

# shellcheck disable=SC1091
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"

APP=gotemplate
VERSION=${VERSION:-3.12.0}
DEST="${XDG_DATA_HOME}/apps/releases/${APP}"

main() (
	URL=https://github.com/coveooss/gotemplate/releases/download/v${VERSION}/gotemplate_${VERSION}_$(get_os).zip

	extract_zip "${URL}" "${DEST}/${VERSION}"
	set_current_link "${DEST}" "${VERSION}"
	set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" "${APP}"
)


get_os() (
	case $(uname -s) in
	Linux*)
		case $(uname -m) in
			aarch64) echo linux_arm64 ;;
			x86_64)  echo linux_amd64 ;;
		esac
		;;

	Darwin*)      echo darwin_all ;;
	MINGW64_NT-*) echo windows_amd64 ;;
	CYGWIN_NT-*)  echo windows_amd64 ;;
	*)
		echo >&2 "unsupported os: $(uname -s)"
		exit 1
		;;
	esac
)

main "${@}"