/** * @param ConsoleColor $color */ public function __construct(ConsoleColor $color) { $this->color = $color; foreach ($this->defaultTheme as $name => $styles) { if (!$this->color->hasTheme($name)) { $this->color->addTheme($name, $styles); } } }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $info = $this->fileInfo(); $num = $input->getOption('num'); $colors = new ConsoleColor(); $colors->addTheme('line_number', array('blue')); $highlighter = new Highlighter($colors); $contents = file_get_contents($info['file']); $output->page($highlighter->getCodeSnippet($contents, $info['line'], $num, $num), ShellOutput::OUTPUT_RAW); }
private function getDisabledConsoleColor() { $color = new ConsoleColor(); $color->addTheme(Highlighter::TOKEN_STRING, array('none')); $color->addTheme(Highlighter::TOKEN_COMMENT, array('none')); $color->addTheme(Highlighter::TOKEN_KEYWORD, array('none')); $color->addTheme(Highlighter::TOKEN_DEFAULT, array('none')); $color->addTheme(Highlighter::TOKEN_HTML, array('none')); $color->addTheme(Highlighter::ACTUAL_LINE_MARK, array('none')); $color->addTheme(Highlighter::LINE_NUMBER, array('none')); return $color; }
/** * Format the code represented by $reflector. * * @param \Reflector $reflector * * @return string formatted code */ public static function format(\Reflector $reflector) { if ($fileName = $reflector->getFileName()) { if (!is_file($fileName)) { throw new RuntimeException('Source code unavailable.'); } $file = file_get_contents($fileName); $start = $reflector->getStartLine(); $end = $reflector->getEndLine() - $start; $colors = new ConsoleColor(); $colors->addTheme('line_number', array('blue')); $highlighter = new Highlighter($colors); return $highlighter->getCodeSnippet($file, $start, 0, $end); // no need to escape this bad boy, since (for now) it's being output raw. // return OutputFormatter::escape(implode(PHP_EOL, $code)); return implode(PHP_EOL, $code); } else { throw new RuntimeException('Source code unavailable.'); } }