#!/bin/bash

# Variables
PACKAGE=sublime-text
BUILD=3126
NAME="Sublime Text 3"

# Download function for ease of reuse
function install_sublime {
	show_info 'Downloading '$NAME'...'
	# Download Debian file that matches system architecture
	case `uname -i` in
		i386|i486|i586|i686)
			curl -O https://download.sublimetext.com/sublime-text_build-${BUILD}_i386.deb
			;;
		x86_64)
			curl -O https://download.sublimetext.com/sublime-text_build-${BUILD}_amd64.deb
			;;
		*)
			whiptail --title "No remote packages available to download." --msgbox "Error." 8 78
			;;
	esac
	# Install package(s)
	show_info 'Installing '$NAME'...'
	show_warning 'Requires root privileges'
	sudo dpkg -i sublime-text_build-${BUILD}*.deb
	sudo apt install -fy
	# Create symbolic link
	show_info 'Creating symbolic link...'
	show_warning 'Requires root privileges'
	sudo ln -sf /opt/sublime_text/sublime_text /usr/bin/sublime
	# Cleanup and finish
	rm sublime-text_build-${BUILD}*.deb
	show_success 'Done.'
}


# Sublime Text 3
function sublime-text {
	show_header 'Begin '$NAME' installation'
	# Check if already installed
	echo 'Checking if '$NAME' is already installed...'
	PKGCHECK=$(dpkg-query -W --showformat='${Status}\n' $PACKAGE|grep "install ok installed")
	VERSCHECK=$(dpkg-query -W --showformat='${Version}\n' $PACKAGE|grep "install ok installed")
	if [ "" == "$PKGCHECK" ]; then
		echo $NAME 'is not installed. Proceeding'
		install_sublime
		whiptail --title "Finished" --msgbox "Installation $NAME complete." 8 78
		thirdparty
	else
		if [ "$BUILD" == "$VERSCHECK" ]; then
			# Already installed
			show_success $NAME 'already installed.'
			whiptail --title "Finished" --msgbox "$NAME is already installed." 8 78
			thirdparty
		else
			# Update
			show_info $NAME '$NAME is already installed, but out-of-date.'
			show_info 'Updating '$NAME'...'
			# Install
			install_sublime
			whiptail --title "Finished" --msgbox "Updating of $NAME complete." 8 78
			thirdparty
		fi
	fi
}
