/** * {@inheritdoc} */ public function removeFormat($string) { $this->innerFormatter->setDecorated(false); $formatted = $this->innerFormatter->format($string); $this->innerFormatter->setDecorated(true); return $formatted; }
public function format($message) { $message = preg_replace('/<info>(.*),\\s*(.*)<\\/info>/i', '<info>$2 ($1)</info>', $message); $formatted = parent::format($message); $clearEscapeCodes = '(?:39|49|0|22|24|25|27|28)'; return preg_replace_callback("{\\[([0-9;]+)m(.*?)\\[(?:" . $clearEscapeCodes . ";)*?" . $clearEscapeCodes . "m}s", array($this, 'formatHtml'), $formatted); }
public function testNotDecoratedFormatter() { $formatter = new OutputFormatter(false); $this->assertTrue($formatter->hasStyle('error')); $this->assertTrue($formatter->hasStyle('info')); $this->assertTrue($formatter->hasStyle('comment')); $this->assertTrue($formatter->hasStyle('question')); $this->assertEquals("some error", $formatter->format('<error>some error</error>')); $this->assertEquals("some info", $formatter->format('<info>some info</info>')); $this->assertEquals("some comment", $formatter->format('<comment>some comment</comment>')); $this->assertEquals("some question", $formatter->format('<question>some question</question>')); $formatter->setDecorated(true); $this->assertEquals("[37;41msome error[0m", $formatter->format('<error>some error</error>')); $this->assertEquals("[32msome info[0m", $formatter->format('<info>some info</info>')); $this->assertEquals("[33msome comment[0m", $formatter->format('<comment>some comment</comment>')); $this->assertEquals("[30;46msome question[0m", $formatter->format('<question>some question</question>')); }
public function testContentWithLineBreaks() { $formatter = new OutputFormatter(true); $this->assertEquals(<<<EOF [32m some text[0m EOF , $formatter->format(<<<EOF <info> some text</info> EOF )); $this->assertEquals(<<<EOF [32msome text [0m EOF , $formatter->format(<<<EOF <info>some text </info> EOF )); $this->assertEquals(<<<EOF [32m some text [0m EOF , $formatter->format(<<<EOF <info> some text </info> EOF )); $this->assertEquals(<<<EOF [32m some text more text [0m EOF , $formatter->format(<<<EOF <info> some text more text </info> EOF )); }
private function renderCodeCoverage(array $reportLines, $widestLine) { $output = ''; $widestLineNum = mb_strlen(count($reportLines)); foreach ($reportLines as $i => $line) { $source = $this->formatter->escape(str_pad($line['line'], $widestLine)); $lineNum = str_pad((string) ($i + 1), $widestLineNum, ' ', STR_PAD_LEFT); switch ($line['code']) { case self::COVERAGE_COVERED: $output .= $this->formatter->format(sprintf('<bg=white;fg=green>[%s] %s</>', $lineNum, $source)); break; case self::COVERAGE_NOT_COVERED: $output .= $this->formatter->format(sprintf('<bg=white;fg=red>[%s] %s</>', $lineNum, $source)); break; case self::COVERAGE_META: $output .= $this->formatter->format(sprintf('<bg=white;fg=black>[%s] %s</>', $lineNum, $source)); break; } $output .= PHP_EOL; } return $output; }
/** * @see Stream::getMessageFormat() * @param mixed $level * @param array $context * @return string */ protected function getMessageFormat($level, array $context = array()) { $parentFormat = parent::getMessageFormat($level, $context); $consoleFormat = "<{$level}>{$parentFormat}</{$level}>"; return $this->formatter->format($consoleFormat); }
public function format($message) { $formatted = parent::format($message); return preg_replace_callback("{\\[([0-9;]+)m(.*?)\\[0m}s", array($this, 'formatHtml'), $formatted); }
public function write($message) { $this->messages[] = $this->outputFormatter->format($message); }
/** * Writes a line. * @param string $line * @return void */ private function write($line = '') { echo $this->formatter->format($line); }
public function format($message) { $formatted = parent::format($message); $clearEscapeCodes = '(?:39|49|0|22|24|25|27|28)'; return preg_replace_callback("{\\[([0-9;]+)m(.*?)\\[(?:" . $clearEscapeCodes . ";)*?" . $clearEscapeCodes . "m}s", array($this, 'formatHtml'), $formatted); }
/** * @param string $filename * * @return array */ private static function loadFileOrEmpty($filename) { if (!file_exists($filename)) { return []; } try { if (!is_array($content = Yaml::parse(file_get_contents($filename)))) { $content = []; } return $content; } catch (ParseException $exception) { $errorFormatter = new OutputFormatter(true); echo $errorFormatter->format(sprintf('<error>[WARNING] YAML File "%s" is invalid, falling back to "[]" as parsed-value.</error>' . PHP_EOL . '<error>Error: %s</error>' . PHP_EOL, $errorFormatter->escape($filename), $errorFormatter->escape($exception->getMessage()))) . PHP_EOL; return []; } }
public function format($event) { $message = parent::format($event); $colorizer = new OutputFormatter(true); return $colorizer->format($message); }
/** * {@inheritdoc} */ public function removeFormat($string) { return $this->innerFormatter->format($string); }
public function testNestedStyles() { $formatter = new OutputFormatter(true); $this->assertSame("[32mTest [39m[37;41merror[39;49m[32m and [39m[33mcomment[39m[32m inside a info.[39m", $formatter->format('<info>Test <error>error</error> and <comment>comment</comment> inside a info.</info>')); }