<?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Tool * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id$ */ /** * @category Zend * @package Zend_Tool * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Tool_Framework_Client_Console_ResponseDecorator_Colorizer implements Zend_Tool_Framework_Client_Response_ContentDecorator_Interface { protected $_colorOptions = array( // blacks 'black' => '30m', 'hiBlack' => '1;30m', 'bgBlack' => '40m', // reds 'red' => '31m', 'hiRed' => '1;31m', 'bgRed' => '41m', // greens 'green' => '32m', 'hiGreen' => '1;32m', 'bgGreen' => '42m', // yellows 'yellow' => '33m', 'hiYellow' => '1;33m', 'bgYellow' => '43m', // blues 'blue' => '34m', 'hiBlue' => '1;34m', 'bgBlue' => '44m', // magentas 'magenta' => '35m', 'hiMagenta' => '1;35m', 'bgMagenta' => '45m', // cyans 'cyan' => '36m', 'hiCyan' => '1;36m', 'bgCyan' => '46m', // whites 'white' => '37m', 'hiWhite' => '1;37m', 'bgWhite' => '47m' ); public function getName() { return 'color'; } public function decorate($content, $color) { if (is_string($color)) { $color = array($color); } $newContent = ''; foreach ($color as $c) { if (array_key_exists($c, $this->_colorOptions)) { $newContent .= "\033[" . $this->_colorOptions[$c]; } } $newContent .= $content . "\033[m"; return $newContent; } }