diff --git a/composer.json b/composer.json index 8eea99b..eddd6ad 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,11 @@ "pointybeard/helpers-foundation-factory": "~1.0", "pointybeard/helpers-functions-flags": "~1.0" }, + "require-dev": { + "pointybeard/helpers-functions-strings": "~1.1.0", + "pointybeard/helpers-cli-colour": "~1.0", + "pointybeard/helpers-functions-cli": "~1.1.0" + }, "support": { "issues": "https://github.com/pointybeard/helpers-cli-input/issues", "wiki": "https://github.com/pointybeard/helpers-cli-input/wiki" diff --git a/example/example.php b/example/example.php index 1695bf1..76b67e5 100644 --- a/example/example.php +++ b/example/example.php @@ -4,6 +4,7 @@ declare(strict_types=1); include __DIR__.'/../vendor/autoload.php'; use pointybeard\Helpers\Cli\Input; +use pointybeard\Helpers\Cli\Colour\Colour; use pointybeard\Helpers\Functions\Cli; // Define what we are expecting to get from the command line @@ -63,6 +64,34 @@ try { exit; } +// Display the manual in green text +echo Cli\manpage( + basename(__FILE__), + '1.0.2', + 'An example script for the PHP Helpers: Command-line Input and Input Type Handlers composer library (pointybeard/helpers-cli-input).', + $collection, + Colour::FG_GREEN, + Colour::FG_WHITE, + [ + 'Examples' => 'php -f example/example.php -- -vvv -d example/example.json import', + ] +).PHP_EOL.PHP_EOL; + +// example.php 1.0.2, An example script for the PHP Helpers: Command-line Input +// and Input Type Handlers composer library (pointybeard/helpers-cli-input). +// Usage: example.php [OPTIONS]... ACTION... +// +// Arguments: +// ACTION The name of the action to perform +// +// Options: +// -v verbosity level. -v (errors only), -vv +// (warnings and errors), -vvv (everything). +// -d, --data=VALUE Path to the input JSON data +// +// Examples: +// php -f example/example.php -- -vvv -d example/example.json import + var_dump($argv->find('action')); // string(6) "import" diff --git a/src/Input/Types/Argument.php b/src/Input/Types/Argument.php index 4550781..52faec1 100644 --- a/src/Input/Types/Argument.php +++ b/src/Input/Types/Argument.php @@ -72,6 +72,6 @@ class Argument extends Input\AbstractInputType $second[$ii] = $secondaryLineLeadPadding.$second[$ii]; } - return $first.implode(PHP_EOL, $second); + return $first.implode($second, PHP_EOL); } } diff --git a/src/Input/Types/LongOption.php b/src/Input/Types/LongOption.php index 17d73de..5961768 100644 --- a/src/Input/Types/LongOption.php +++ b/src/Input/Types/LongOption.php @@ -84,6 +84,6 @@ class LongOption extends Input\AbstractInputType $second[$ii] = $secondaryLineLeadPadding.$second[$ii]; } - return $first.implode(PHP_EOL, $second); + return $first.implode($second, PHP_EOL); } }