<?php
/*
 * This file is part of the Magallanes package.
*
* (c) Andrés Montañez <andres@andresmontanez.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Mage\Console;

/**
 * Parses the different colors available for the Terminal or Console.
 *
 * @author Andrés Montañez <andres@andresmontanez.com>
 */
class Colors
{
	/**
	 * List of Colors and they Terminal/Console representation.
	 * @var array
	 */
    private static $foregroundColors = array(
        'black'        => '0;30',
        'dark_gray'    => '1;30',
        'blue'         => '0;34',
        'light_blue'   => '1;34',
        'green'        => '0;32',
        'light_green'  => '1;32',
        'cyan'         => '0;36',
        'light_cyan'   => '1;36',
        'red'          => '0;31',
        'light_red'    => '1;31',
        'purple'       => '0;35',
        'light_purple' => '1;35',
        'brown'        => '0;33',
        'yellow'       => '1;33',
        'light_gray'   => '0;37',
        'white'        => '1;37'

    );

    /**
     * Parses a Text to represent Colors in the Terminal/Console.
     *
     * @param string $string
     * @return string
     */
    public static function color($string)
    {
        foreach (self::$foregroundColors as $key => $code) {
            $replaceFrom = array(
                '<' . $key . '>',
            	'</' . $key . '>'
            );

            $replaceTo = array(
                "\033[" . $code . 'm',
                "\033[0m"
            );

            $string = str_replace($replaceFrom, $replaceTo, $string);
        }

        return $string;
    }
}