X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/3368f7c8af4706ab309544d8710e724e8b5f0ee8..7958c95fb124a29b4970ef8ec72f78ee4f5a71ea:/Command/RangeCommand.php diff --git a/Command/RangeCommand.php b/Command/RangeCommand.php index 6ba5dd1..0597138 100644 --- a/Command/RangeCommand.php +++ b/Command/RangeCommand.php @@ -28,19 +28,19 @@ class RangeCommand extends Command { * * 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 * * 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 $file = '.env.local', protected ?string $name = null) { + public function __construct(protected string $file, protected ?string $name = null) { //Call parent constructor parent::__construct($this->name); @@ -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,10 @@ 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='; - - //Print shuffled range - var_export(implode($shuffles)); + echo '###> '.$this->bundle.' ###'."\n".$string."\n".'###< '.$this->bundle.' ###'; //Add trailing line echo "\n";