Initial Drupal 11 with DDEV setup
This commit is contained in:
		
							
								
								
									
										115
									
								
								vendor/consolidation/robo/src/Symfony/ConsoleIO.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								vendor/consolidation/robo/src/Symfony/ConsoleIO.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,115 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Robo\Symfony;
 | 
			
		||||
 | 
			
		||||
use Consolidation\AnnotatedCommand\CommandData;
 | 
			
		||||
use Consolidation\AnnotatedCommand\CommandProcessor;
 | 
			
		||||
use Consolidation\AnnotatedCommand\ParameterInjector;
 | 
			
		||||
use Robo\Common\InflectionTrait;
 | 
			
		||||
use Robo\Contract\InflectionInterface;
 | 
			
		||||
use Robo\Contract\OutputAwareInterface;
 | 
			
		||||
use Symfony\Component\Console\Input\InputAwareInterface;
 | 
			
		||||
use Symfony\Component\Console\Input\InputInterface;
 | 
			
		||||
use Symfony\Component\Console\Output\OutputInterface;
 | 
			
		||||
use Symfony\Component\Console\Style\SymfonyStyle;
 | 
			
		||||
 | 
			
		||||
class ConsoleIO extends SymfonyStyle implements InflectionInterface // InputInterface?
 | 
			
		||||
{
 | 
			
		||||
    use InflectionTrait;
 | 
			
		||||
 | 
			
		||||
    protected $input;
 | 
			
		||||
    protected $output;
 | 
			
		||||
 | 
			
		||||
    public function __construct(InputInterface $input, OutputInterface $output)
 | 
			
		||||
    {
 | 
			
		||||
        $this->input = $input;
 | 
			
		||||
        $this->output = $output;
 | 
			
		||||
        parent::__construct($input, $output);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function input()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->input;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function output()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->output;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string $text
 | 
			
		||||
     */
 | 
			
		||||
    public function say($text)
 | 
			
		||||
    {
 | 
			
		||||
        $char = $this->decorationCharacter('>', '➜');
 | 
			
		||||
        $this->writeln("$char  $text");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string $text
 | 
			
		||||
     * @param int $length
 | 
			
		||||
     * @param string $color
 | 
			
		||||
     */
 | 
			
		||||
    public function yell($text, $length = 40, $color = 'green')
 | 
			
		||||
    {
 | 
			
		||||
        $char = $this->decorationCharacter(' ', '➜');
 | 
			
		||||
        $format = "$char  <fg=white;bg=$color;options=bold>%s</fg=white;bg=$color;options=bold>";
 | 
			
		||||
        $this->formattedOutput($text, $length, $format);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string $text
 | 
			
		||||
     * @param int $length
 | 
			
		||||
     * @param string $format
 | 
			
		||||
     */
 | 
			
		||||
    protected function formattedOutput($text, $length, $format)
 | 
			
		||||
    {
 | 
			
		||||
        $lines = explode("\n", trim($text, "\n"));
 | 
			
		||||
        $maxLineLength = array_reduce(array_map('strlen', $lines), 'max');
 | 
			
		||||
        $length = max($length, $maxLineLength);
 | 
			
		||||
        $len = $length + 2;
 | 
			
		||||
        $space = str_repeat(' ', $len);
 | 
			
		||||
        $this->writeln(sprintf($format, $space));
 | 
			
		||||
        foreach ($lines as $line) {
 | 
			
		||||
            $line = str_pad($line, $length, ' ', STR_PAD_BOTH);
 | 
			
		||||
            $this->writeln(sprintf($format, " $line "));
 | 
			
		||||
        }
 | 
			
		||||
        $this->writeln(sprintf($format, $space));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string $nonDecorated
 | 
			
		||||
     * @param string $decorated
 | 
			
		||||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    protected function decorationCharacter($nonDecorated, $decorated)
 | 
			
		||||
    {
 | 
			
		||||
        if (!$this->output()->isDecorated() || (strncasecmp(PHP_OS, 'WIN', 3) == 0)) {
 | 
			
		||||
            return $nonDecorated;
 | 
			
		||||
        }
 | 
			
		||||
        return $decorated;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * {@inheritdoc}
 | 
			
		||||
     */
 | 
			
		||||
    public function lightText($message)
 | 
			
		||||
    {
 | 
			
		||||
        $this->block($message, '', 'fg=gray', '', true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * {@inheritdoc}
 | 
			
		||||
     */
 | 
			
		||||
    public function injectDependencies($child)
 | 
			
		||||
    {
 | 
			
		||||
        if ($child instanceof InputAwareInterface) {
 | 
			
		||||
            $child->setInput($this->input());
 | 
			
		||||
        }
 | 
			
		||||
        if ($child instanceof OutputAwareInterface) {
 | 
			
		||||
            $child->setOutput($this->output());
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/consolidation/robo/src/Symfony/ConsoleIOInjector.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/consolidation/robo/src/Symfony/ConsoleIOInjector.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Robo\Symfony;
 | 
			
		||||
 | 
			
		||||
use Consolidation\AnnotatedCommand\CommandData;
 | 
			
		||||
use Consolidation\AnnotatedCommand\CommandProcessor;
 | 
			
		||||
use Consolidation\AnnotatedCommand\ParameterInjector;
 | 
			
		||||
use Symfony\Component\Console\Style\SymfonyStyle;
 | 
			
		||||
 | 
			
		||||
class ConsoleIOInjector implements ParameterInjector
 | 
			
		||||
{
 | 
			
		||||
    public function get(CommandData $commandData, $interfaceName)
 | 
			
		||||
    {
 | 
			
		||||
        return new ConsoleIO($commandData->input(), $commandData->output());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/consolidation/robo/src/Symfony/SymfonyStyleInjector.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/consolidation/robo/src/Symfony/SymfonyStyleInjector.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Robo\Symfony;
 | 
			
		||||
 | 
			
		||||
use Consolidation\AnnotatedCommand\CommandData;
 | 
			
		||||
use Consolidation\AnnotatedCommand\CommandProcessor;
 | 
			
		||||
use Consolidation\AnnotatedCommand\ParameterInjector;
 | 
			
		||||
use Symfony\Component\Console\Style\SymfonyStyle;
 | 
			
		||||
 | 
			
		||||
class SymfonyStyleInjector implements ParameterInjector
 | 
			
		||||
{
 | 
			
		||||
    public function get(CommandData $commandData, $interfaceName)
 | 
			
		||||
    {
 | 
			
		||||
        return new SymfonyStyle($commandData->input(), $commandData->output());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user