From 3bab80c9541fce30bec2f69f41ad931ea4db7880 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Tue, 9 Apr 2019 08:36:27 +0200 Subject: [PATCH] fix command help text output --- src/pharext/Cli/Args/Help.php | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/pharext/Cli/Args/Help.php b/src/pharext/Cli/Args/Help.php index e67da9c..907a40d 100644 --- a/src/pharext/Cli/Args/Help.php +++ b/src/pharext/Cli/Args/Help.php @@ -2,6 +2,7 @@ namespace pharext\Cli\Args; +use function array_column; use pharext\Cli\Args; class Help @@ -79,10 +80,32 @@ class Help $dump = ""; if ($req) { - $dump .= sprintf(" [-%s ]", implode("|-", array_column($req, 0))); + $short = array_filter($req, function($a) { + return is_string($a[0]); + }); + if ($short) { + $dump .= sprintf(" [-%s ]", implode("|-", array_column($short, 0))); + } + $long = array_filter($req, function($a) { + return !is_string($a[0]); + }); + if ($long) { + $dump .= sprintf(" [--%s ]", implode("|--", array_column($long, 1))); + } } if ($opt) { - $dump .= sprintf(" [-%s []]", implode("|-", array_column($opt, 0))); + $short = array_filter($opt, function($a) { + return is_string($a[0]); + }); + if ($short) { + $dump .= sprintf(" [-%s []]", implode("|-", array_column($short, 0))); + } + $long = array_filter($opt, function($a) { + return !is_string($a[0]); + }); + if ($long) { + $dump .= sprintf(" [--%s []]", implode("|--", array_column($long, 1))); + } } return $dump; } @@ -134,7 +157,7 @@ class Help foreach ($this->args->getSpec() as $spec) { $dump .= " "; if (is_numeric($spec[0])) { - $dump .= sprintf("-- %s ", $spec[1]); + $dump .= sprintf(" <%s> ", $spec[1]); } elseif (isset($spec[0])) { $dump .= sprintf("-%s|", $spec[0]); } -- 2.30.2