#!/bin/sh
# POSIX-shell compatible functions for using
# from different parts of termhelper
# th means termhelper

black='\033[0;30m' 
red='\033[0;31m' 
green='\033[1;32m' 
yellow='\033[1;33m' 
brown='\033[0;33m'
blue='\033[0;34m' 
light_blue='\033[1;34m'
magenta='\033[1;35m'
cyan='\033[0;36m'
white='\033[0;37m' 
purple='\033[0;35m'
default='\033[0m'

_th_set_defconfig(){
	[ -f "$HOME/.config/termhelper" ] && return
	mkdir -p "$HOME/.config"
	echo "# termhelper configuration file

# Set logo file
#HEADER_LOGO=/my/path/my.logo

# Disable logo
#HELLO=no

# Disable search of not found commands in repository 
#BINARYSEARCH=no
" > "$HOME/.config/termhelper"
}

_th_load_config(){
	for i in \
		/etc/termhelper.d/* \
		/run/termhelper.d/* \
		/etc/termhelper \
		$HOME/.config/termhelper.d/* \
		$HOME/.config/termhelper
	do
		test -e "$i" && . "$i"
	done
}

_th_gettext(){
	TEXTDOMAIN=termhelper \
	TEXTDOMAINDIR=/usr/share/locale \
	gettext -s "$@"
}

_th_logo(){
	[ "$HEADER_LOGO" ] || HEADER_LOGO='logo:NAME:ID'
	# HEADER_LOGO is a ':' separated list of values to find in /usr/share/termhelper/header_logo/
	# "ID" is a special value, it will be replaced with $ID from /etc/os-release
	echo $HEADER_LOGO |grep -Eq 'ID|NAME' && [ -f '/etc/os-release' ] && . /etc/os-release
	for val in $(echo "$HEADER_LOGO" |sed 's/:/ /g') ; do
		if [ $val == "ID" ] ; then
			if [ -f "/usr/share/termhelper/header_logo/$ID" ] ; then
				LOGO_="/usr/share/termhelper/header_logo/$ID"
				break
			fi
		elif [ $val == "NAME" ] ; then
			FNAME=$(echo $NAME |sed 's/ /_/g')
			if [ -f "/usr/share/termhelper/header_logo/$FNAME" ] ; then
				LOGO_="/usr/share/termhelper/header_logo/$FNAME"
				break
			fi
		elif [ -f "$val" ] ; then
			LOGO_="$val"
			break
		elif [ -f "/usr/share/termhelper/header_logo/$val" ] ; then
			LOGO_="/usr/share/termhelper/header_logo/$val"
			break
		fi
	done
	if [ "$LOGO_" ] ; then
		zcat "$LOGO_" 2>/dev/null || cat "$LOGO_" 
	else
		echo "
 __ __ _____ __    __    _____ 
|  |  |   __|  |  |  |  |     |
|     |   __|  |__|  |__|  |  |
|__|__|_____|_____|_____|_____|"
	fi
}

_th_messages() {
	if ls /usr/share/os_messages/*.th >/dev/null 2>&1; then
		local message=""

		[[ -n "$LANG" ]] && \
			message=$(grep -r "^${LANG}" /usr/share/os_messages/*.th 2>/dev/null | head -n1 | cut -f2- -d ' ')

		[[ -z "$message" ]] && \
			message=$(cat /usr/share/os_messages/*.th | head -n1  2>/dev/null)

		[[ -n "$message" ]] && \
			{ echo ; echo "$message" ;}
	fi
}


