X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/762348ccbc2445dbf1f1267898ee68858e4bbd46..9dc9c9ac835f99cb2bc1cdf9940cb347a14771a8:/Command/RangeCommand.php

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