#!/bin/bash
. $GVM_ROOT/scripts/function/tools

function display_error() {
	if [ command -v tput >/dev/null 2>&1 ]; then
		tput sgr0
		tput setaf 1
		echo "ERROR: $1" >&2
		tput sgr0
	else
		echo "ERROR: $1" >&2
	fi
	return 1
}

function display_message() {
	if [ command -v tput >/dev/null 2>&1 ]; then
		# GREEN!
		tput sgr0
		tput setaf 2
		echo "$1"
		tput sgr0
	else
		echo "$1"
	fi
}

function gvm_pkgset_use() {
	[[ "$1" != "" ]] ||
		display_error "Please specify a package set" || return 1

	[[ "$gvm_go_name" != "" ]] || 
		display_error "No Go version selected" || return 1

	fuzzy_match=`$LS_PATH $GVM_ROOT/environments | $SORT_PATH | $GREP_PATH "$gvm_go_name@" | $GREP_PATH "$1" | $HEAD_PATH -n 1` ||
		display_error "Invalid package set" || return 1

	export PATH=$GVM_PATH_BACKUP
	. "$GVM_ROOT/environments/$fuzzy_match" ||
		display_error "Failed to source the package set environment" || return 1

	if [[ "$2" == "--default" ]]; then
		cp $GVM_ROOT/environments/$fuzzy_match $GVM_ROOT/environments/default
	fi

	echo "Now using version $fuzzy_match"
}

