Вход Регистрация
Файл: gapps/vendor/psy/psysh/src/Psy/Command/ShowCommand.php
Строк: 95
<?php

/*
 * This file is part of Psy Shell.
 *
 * (c) 2012-2015 Justin Hileman
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace PsyCommand;

use 
PsyConfiguration;
use 
PsyExceptionRuntimeException;
use 
PsyFormatterCodeFormatter;
use 
PsyFormatterSignatureFormatter;
use 
PsyOutputShellOutput;
use 
SymfonyComponentConsoleInputInputArgument;
use 
SymfonyComponentConsoleInputInputInterface;
use 
SymfonyComponentConsoleOutputOutputInterface;

/**
 * Show the code for an object, class, constant, method or property.
 */
class ShowCommand extends ReflectingCommand
{
    private 
$colorMode;

    
/**
     * @param null|string $colorMode (default: null)
     */
    
public function __construct($colorMode null)
    {
        
$this->colorMode $colorMode ?: Configuration::COLOR_MODE_AUTO;

        return 
parent::__construct();
    }

    
/**
     * {@inheritdoc}
     */
    
protected function configure()
    {
        
$this
            
->setName('show')
            ->
setDefinition(array(
                new 
InputArgument('value'InputArgument::REQUIRED'Function, class, instance, constant, method or property to show.'),
            ))
            ->
setDescription('Show the code for an object, class, constant, method or property.')
            ->
setHelp(
                <<<HELP
Show the code for an object, class, constant, method or property.

e.g.
<return>>>> show 
$myObject</return>
<return>>>> show PsyShell::debug</return>
HELP
            );
    }

    
/**
     * {@inheritdoc}
     */
    
protected function execute(InputInterface $inputOutputInterface $output)
    {
        list(
$value$reflector) = $this->getTargetAndReflector($input->getArgument('value'));

        try {
            
$output->page(CodeFormatter::format($reflector$this->colorMode), ShellOutput::OUTPUT_RAW);
        } catch (
RuntimeException $e) {
            
$output->writeln(SignatureFormatter::format($reflector));
            throw 
$e;
        }
    }
}
Онлайн: 1
Реклама