#!/usr/bin/perl -w

# Copyright 2003 by Michael Weber
# Released into the public domain July 2003

use strict;

die "$0 requires a color file.  See readme.txt for more info.\n" if $#ARGV < 0;

my $red="\033[0;31m";
my $brown="\033[0;33m";
my $blue="\033[0;34m";
my $green="\033[0;32m";
my $cyan="\033[0;36m";
my $purple="\033[0;35m";
my $gray="\033[0;37m";

my $ltred="\033[1;31m";
my $yellow="\033[1;33m";
my $ltblue="\033[1;34m";
my $ltgreen="\033[1;32m";
my $ltcyan="\033[1;36m";
my $ltpurple="\033[1;35m";
my $white="\033[1;37m";
my $ltgray="\033[0;37m";

my $normal="\033[0m";

my @trigger_array;
my @color_array;
my @conf_line;
my $input_line;
my $i;

open (CONF, $ARGV[0]) || die "Can't open config file $ARGV[0], $!\n";

while (<CONF>) {
	@conf_line=split(",");

	push(@trigger_array, "$conf_line[0]");
	if ( $conf_line[1] =~ "red" ) {push(@color_array, "$red")}
	elsif ( $conf_line[1] =~ "yellow" ) {push(@color_array, "$yellow")}
	elsif ( $conf_line[1] =~ "blue" ) {push(@color_array, "$blue")}
	elsif ( $conf_line[1] =~ "green" ) {push(@color_array, "$green")}
	elsif ( $conf_line[1] =~ "cyan" ) {push(@color_array, "$cyan")}
	elsif ( $conf_line[1] =~ "purple" ) {push(@color_array, "$purple")}
	elsif ( $conf_line[1] =~ "gray" ) {push(@color_array, "$gray")}
	elsif ( $conf_line[1] =~ "ltred" ) {push(@color_array, "$ltred")}
	elsif ( $conf_line[1] =~ "yellow" ) {push(@color_array, "$yellow")}
	elsif ( $conf_line[1] =~ "ltblue" ) {push(@color_array, "$ltblue")}
	elsif ( $conf_line[1] =~ "ltgreen" ) {push(@color_array, "$ltgreen")}
	elsif ( $conf_line[1] =~ "ltcyan" ) {push(@color_array, "$ltcyan")}
	elsif ( $conf_line[1] =~ "ltpurple" ) {push(@color_array, "$ltpurple")}
	elsif ( $conf_line[1] =~ "white" ) {push(@color_array, "$white")}
	elsif ( $conf_line[1] =~ "ltgray" ) {push(@color_array, "$ltgray")}
	else  {push(@color_array, "$white")}
}
	
close (CONF);

my $trigger_count=@trigger_array;

while ($input_line = <STDIN>) {

	for ($i=0; $i<$trigger_count; $i++) {
		$input_line =~ s/${trigger_array[$i]}/${color_array[$i]}${trigger_array[$i]}${normal}/g;
	}		
	print $input_line;

}


