Skip to content

Commit

Permalink
[Console] added output formatter interfaces
Browse files Browse the repository at this point in the history
  • Loading branch information
everzet committed Mar 17, 2011
1 parent d5396f6 commit 65681cd
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 0 deletions.
@@ -0,0 +1,69 @@
<?php

/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Symfony\Component\Console\Formatter;

/**
* Formatter interface for console output.
*
* @author Konstantin Kudryashov <ever.zet@gmail.com>
*/
interface OutputFormatterInterface
{
/**
* Sets the decorated flag.
*
* @param Boolean $decorated Whether to decorated the messages or not
*/
function setDecorated($decorated);

/**
* Gets the decorated flag.
*
* @return Boolean true if the output will decorate messages, false otherwise
*/
function isDecorated();

/**
* Sets a new style.
*
* @param string $name The style name
* @param OutputFormatterStyleInterface $options The style instance
*/
function setStyle($name, OutputFormatterStyleInterface $style);

/**
* Checks if output formatter has style with specified name.
*
* @param string $name
*
* @return boolean
*/
function hasStyle($name);

/**
* Gets style options from style with specified name.
*
* @param string $name
*
* @return OutputFormatterStyleInterface
*/
function getStyle($name);

/**
* Formats a message according to the given styles.
*
* @param string $message The message to style
*
* @return string The styled message
*/
function format($message);
}
@@ -0,0 +1,69 @@
<?php

/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Symfony\Component\Console\Formatter;

/**
* Formatter style interface for defining styles.
*
* @author Konstantin Kudryashov <ever.zet@gmail.com>
*/
interface OutputFormatterStyleInterface
{
/**
* Sets style foreground color.
*
* @param string $color color name
*/
function setForeground($color = null);

/**
* Sets style background color.
*
* @param string $color color name
*/
function setBackground($color = null);

/**
* Sets some specific style option.
*
* @param string $option option name
*/
function setOption($option);

/**
* Unsets some specific style option.
*
* @param string $option option name
*/
function unsetOption($option);

/**
* Set multiple style options at once.
*
* @param array $options
*/
function setOptions(array $options);

/**
* Returns begin style code.
*
* @return string
*/
function getBeginStyle();

/**
* Returns end style code.
*
* @return string
*/
function getEndStyle();
}

0 comments on commit 65681cd

Please sign in to comment.