#!/bin/sh

# Select TextColor

if [ "$1" = "-?" ] ; then
  echo "Usage: colecho <TEXT> [COLOR] [BKGCOLOR] [MODE]"
  $0 "  Example:$0 rd bl blink" rd w blink
  echo "TEXT/BKGCOLORs:"
  echo "  b        : black"
  echo "  rd       : red"
  echo "  gn       : green"
  echo "  bl       : blue"
  echo "  br       : brown (MODE br -> Yellow)"
  echo "  mg       : magenta"
  echo "  cy       : cyan"
  echo "  w        : white"
  echo "  any other: normal"
  echo
  echo "MODEs:"
  echo "  br   : bright/bold"
  echo "  di   : dim"
  echo "  bl   : blinking"
  echo "  inv  : inverse"
  echo "  brbl : bright-blinking"
  echo "  brinv: bright-inverse"
  echo "  dibl : dim-blinking"
  echo "  diinv: dim-inverse"
  echo "  any  : normal"
  
fi

# textcolor
case "$2" in
	b)
		TCOL="\033[30m";
		;;
	rd)
		TCOL="\033[31m";
		;;
	gn)
		TCOL="\033[32m";
		;;
	br)
		TCOL="\033[33m";
		;;
	bl)
		TCOL="\033[34m";
		;;
	mg)
		TCOL="\033[35m";
		;;
	cy)
		TCOL="\033[36m";
		;;
	w)
		TCOL="\033[37m";
		;;
	*)
		# normal
		TCOL="\033[0m";
		;;
esac

# backgroundcolor
case "$3" in
	b)
		BKGCOL="\033[40m";
		;;
	rd)
		BKGCOL="\033[41m";
		;;
	gn)
		BKGCOL="\033[42m";
		;;
	br)
		BKGCOL="\033[43m";
		;;
	bl)
		BKGCOL="\033[44m";
		;;
	mg)
		BKGCOL="\033[45m";
		;;
	cy)
		BKGCOL="\033[46m";
		;;
	w)
		BKGCOL="\033[47m";
		;;
	*)
		# normal
		BKGCOL="\033[49m";
		;;
esac

# textmode
case "$4" in
	br)
		TMODE="\033[1m";
		;;
	
	dk)
		TMODE="\033[2m";
		;;
	bl)
		TMODE="\033[5m";
		;;
	inv)
		TMODE="\033[7m";
		;;
	brbl)
		TMODE="\033[1m\033[5m";
		;;
	brinv)
		TMODE="\033[1m\033[7m";
		;;
	dkb)
		TMODE="\033[2m\033[5m";
		;;
	dkinv)
		TMODE="\033[2m\033[7m";
		;;
	*)
		TMODE="";
		;;
esac

# doit
echo -e "$TCOL$BKGCOL$TMODE$1\033[0m"
