X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/762348ccbc2445dbf1f1267898ee68858e4bbd46..79be0fb28e90272e87fe910d09a808211ab7804a:/Command/RangeCommand.php?ds=sidebyside diff --git a/Command/RangeCommand.php b/Command/RangeCommand.php index e18fafa..0597138 100644 --- a/Command/RangeCommand.php +++ b/Command/RangeCommand.php @@ -11,36 +11,36 @@ namespace Rapsys\PackBundle\Command; +use Rapsys\PackBundle\Command; + use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -use Rapsys\PackBundle\Command; - /** - * Shuffle printable character range - * * {@inheritdoc} + * + * Shuffle printable character range */ class RangeCommand extends Command { /** * Set description * - * @description Shown with bin/console list + * Shown with bin/console list */ - protected string $description = 'Outputs a shuffled printable characters range'; + protected string $description = 'Generates a shuffled printable characters range'; /** * Set help * - * @description Shown with bin/console --help packbundle:range + * Shown with bin/console --help rapsyspack:range */ - protected string $help = 'This command outputs a shuffled printable characters range'; + protected string $help = 'This command generates a shuffled printable characters range'; /** * {@inheritdoc} */ - public function __construct(protected ?string $name = null, protected string $file = '.env.local') { + public function __construct(protected string $file, protected ?string $name = null) { //Call parent constructor parent::__construct($this->name); @@ -49,9 +49,9 @@ class RangeCommand extends Command { } /** - * Output a shuffled printable characters range - * * {@inheritdoc} + * + * Output a shuffled printable characters range */ protected function execute(InputInterface $input, OutputInterface $output): int { //Printable character range @@ -77,6 +77,9 @@ class RangeCommand extends Command { $shuffles = array_merge($shuffles, $slices); } while (!empty($ranges)); + //Set string + $string = 'RAPSYSPACK_RANGE="'.strtr(implode($shuffles), ['\\' => '\\\\', '"' => '\\"', '$' => '\\$']).'"'; + //With writeable file if (is_file($file = $input->getArgument('file')) && is_writeable($file)) { //Get file content @@ -88,16 +91,14 @@ class RangeCommand extends Command { return self::FAILURE; } - //Set string - $string = 'RAPSYSPACK_RANGE="'.strtr(implode($shuffles), ['\\' => '\\\\', '"' => '\\"', '$' => '\\$']).'"'; - //With match if (preg_match('/^RAPSYSPACK_RANGE=.*$/m', $content, $matches, PREG_OFFSET_CAPTURE)) { //Replace matches $content = preg_replace('/^(RAPSYSPACK_RANGE=.*)$/m', '#$1'."\n".strtr($string, ['\\' => '\\\\', '\\$' => '\\\\$']), $content); //Without match } else { - $content .= "\n".$string; + //Append string + $content .= (strlen($content)?"\n\n":'').'###> '.$this->bundle.' ###'."\n".$string."\n".'###< '.$this->bundle.' ###'; } //Write file content @@ -114,13 +115,13 @@ class RangeCommand extends Command { //Without writeable file } else { //Print instruction - echo '# Set in '.$file."\n"; + echo '# Add to '.$file."\n"; //Print rapsys pack range variable - echo 'RAPSYSPACK_RANGE='; + echo '###> '.$this->bundle.' ###'."\n".$string."\n".'###< '.$this->bundle.' ###'; - //Print shuffled range - var_export(implode($shuffles)); + //Add trailing line + echo "\n"; } //Return success