X-Git-Url: https://git.rapsys.eu/.gitweb.cgi/packbundle/blobdiff_plain/762348ccbc2445dbf1f1267898ee68858e4bbd46..f3a69e0cab36d6aea72c072e1af929eed06953bd:/Command/RangeCommand.php diff --git a/Command/RangeCommand.php b/Command/RangeCommand.php index e18fafa..e4f15da 100644 --- a/Command/RangeCommand.php +++ b/Command/RangeCommand.php @@ -11,36 +11,37 @@ namespace Rapsys\PackBundle\Command; +use Rapsys\PackBundle\Command; +use Rapsys\PackBundle\RapsysPackBundle; + 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'; /** * 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'; /** * {@inheritdoc} */ - public function __construct(protected ?string $name = null, protected string $file = '.env.local') { + public function __construct(protected string $file = '.env.local', protected ?string $name = null) { //Call parent constructor parent::__construct($this->name); @@ -49,9 +50,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 +78,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 +92,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":'').'###> '.RapsysPackBundle::getBundleAlias().' ###'."\n".$string."\n".'###< '.RapsysPackBundle::getBundleAlias().' ###'; } //Write file content @@ -114,13 +116,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 '###> '.RapsysPackBundle::getBundleAlias().' ###'."\n".$string."\n".'###< '.RapsysPackBundle::getBundleAlias().' ###'; - //Print shuffled range - var_export(implode($shuffles)); + //Add trailing line + echo "\n"; } //Return success