# $Revision: 1.3 $
# $Date: 2003/12/06 18:12:08 $
# $Author: jefus $

class String
	def ansify
		table = {
			'b' => "\e[0;30m", # black
			'B' => "\e[1;30m", # dark gray (bold black)
			'l' => "\e[0;34m", # blue
			'L' => "\e[1;34m", # bright blue
			'g' => "\e[0;32m", # green
			'G' => "\e[1;32m", # bright green
			'c' => "\e[0;36m", # cyan
			'C' => "\e[1;36m", # bright cyan
			'r' => "\e[0;31m", # red
			'R' => "\e[1;31m", # bright red
			'm' => "\e[0;35m", # magenta
			'M' => "\e[1;35m", # bright magenta
			'y' => "\e[0;33m", # brown
			'Y' => "\e[1;33m", # yellow
			'w' => "\e[0;37m", # light gray
			'W' => "\e[1;37m", # white
			'*' => "\e[0m",    # normal
			'&' => "&"
		 	}
     		return self.gsub(/&./) {|match| table[match[1].chr]}
   	end
end

Logger.log("ANSI code initialized.")