#!/bin/bash
#########################################################
# 							#
# This is BashStyle-NG 7.8				#
#							#
# Licensed under GNU GENERAL PUBLIC LICENSE v3    	#
#							#
# Copyright 2007 - 2009 Christopher Bratusek		#
#							#
#########################################################

source $BSNG_PREFIX/share/bashstyle-ng/rc/functions/gconf

white=$(bs-ng-echo $white)
orange=$(bs-ng-echo $orange)
green=$(bs-ng-echo $green)

_help ()
{

	echo -e "\n${white}Usage:\n"
	echo -e "${orange}truncpwd ${white}|${green} ! no options !\n"

}

_truncpwd ()
{
	export BSNG_GCONF_READ=1

	pwdmaxlen=$(get_key pwdmaxlength)
	trunc_symbol=$(get_key pwdchar)
	dirchar=$(get_key dirchar)

	newsepacolor=$(bs-ng-echo $sepacolor)
	newwdircolor=$(bs-ng-echo $wdircolor)
	newpscoloror=$(bs-ng-echo $pscolor)

	if [ ${#PWD} -gt $pwdmaxlen ]; then
		pwdoffset=$(( ${#PWD} - $pwdmaxlen ))
		xPWD="$newpscoloror${trunc_symbol}${PWD:$pwdoffset:$pwdmaxlen}"
		if [[ $enabcol == true && $pstyle_supported == true ]]; then
			newPWD="${xPWD//\//$newsepacolor$dirchar$newwdircolor}"
		else	newPWD="${xPWD//\//$dirchar}"
		fi
	else
		if [[ $enabcol == true && $pstyle_supported == true ]]; then
			newPWD="${PWD//\//$newsepacolor$dirchar$newwdircolor}"
		else	newPWD="${PWD//\//$dirchar}"
		fi
	fi

	echo -e $newPWD
	unset BSNG_GCONF_READ

}

case $1 in

	*help )

		_help

	;;

	* )

		_truncpwd

	;;

esac
