/**
  * @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;
 }
Пример #4
0
 /**
  * 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.');
     }
 }