X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fpharext%2FCli%2FCommand.php;h=b733885a26a9c39e52d1d15544a2a631b2e889ce;hb=605f3e81a9c0e1d16b2d22297569c1d164635c5c;hp=6ad2c806b4a4ccabe3602f1b5ed8c836e5ca6423;hpb=e990b6dabecbdaf98b8d8b2173b0d697f9b2b754;p=pharext%2Fpharext diff --git a/src/pharext/Cli/Command.php b/src/pharext/Cli/Command.php index 6ad2c80..b733885 100644 --- a/src/pharext/Cli/Command.php +++ b/src/pharext/Cli/Command.php @@ -124,60 +124,7 @@ trait Command * @param string $prog */ public function help($prog) { - printf("Usage:\n\n \$ %s", $prog); - - $flags = []; - $required = []; - $optional = []; - foreach ($this->args->getSpec() as $spec) { - if ($spec[3] & CliArgs::REQARG) { - if ($spec[3] & CliArgs::REQUIRED) { - $required[] = $spec; - } else { - $optional[] = $spec; - } - } else { - $flags[] = $spec; - } - } - - if ($flags) { - printf(" [-%s]", implode("", array_column($flags, 0))); - } - foreach ($required as $req) { - printf(" -%s ", $req[0]); - } - if ($optional) { - printf(" [-%s ]", implode("|-", array_column($optional, 0))); - } - printf("\n\n"); - $spc = $this->args->getSpec(); - $max = max(array_map("strlen", array_column($spc, 1))); - $max += $max % 8 + 2; - foreach ($spc as $spec) { - if (isset($spec[0])) { - printf(" -%s|", $spec[0]); - } else { - printf(" "); - } - printf("--%s ", $spec[1]); - if ($spec[3] & CliArgs::REQARG) { - printf(" "); - } elseif ($spec[3] & CliArgs::OPTARG) { - printf("[]"); - } else { - printf(" "); - } - printf("%s%s", str_repeat(" ", $max-strlen($spec[1])+3*!isset($spec[0])), $spec[2]); - if ($spec[3] & CliArgs::REQUIRED) { - printf(" (REQUIRED)"); - } - if (isset($spec[4])) { - printf(" [%s]", $spec[4]); - } - printf("\n"); - } - printf("\n"); + print new Args\Help($prog, $this->args); } /**