mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 06:42:41 +01:00
Improve handling of options for arc
workflows
Summary: Allow `--severity=warning` to mean the same as `--severity warning`. Longer term, we should convert this code to use `PhutilArgumentParser`, although it doesn't seem that `PhutilArgumentParser` support British spelling ;) Test Plan: Ran `arc lint --severity=warning`. Also `var_dump`ed `$args` to make sure it looked reasonable. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, epriestley Differential Revision: https://secure.phabricator.com/D11464
This commit is contained in:
parent
1cc8f3f377
commit
937861ce58
1 changed files with 11 additions and 2 deletions
|
@ -661,7 +661,8 @@ abstract class ArcanistWorkflow extends Phobject {
|
|||
}
|
||||
|
||||
$more = array();
|
||||
for ($ii = 0; $ii < count($args); $ii++) {
|
||||
$size = count($args);
|
||||
for ($ii = 0; $ii < $size; $ii++) {
|
||||
$arg = $args[$ii];
|
||||
$arg_name = null;
|
||||
$arg_key = null;
|
||||
|
@ -672,6 +673,14 @@ abstract class ArcanistWorkflow extends Phobject {
|
|||
break;
|
||||
} else if (!strncmp($arg, '--', 2)) {
|
||||
$arg_key = substr($arg, 2);
|
||||
$parts = explode('=', $arg_key, 2);
|
||||
if (count($parts) == 2) {
|
||||
list($arg_key, $val) = $parts;
|
||||
|
||||
array_splice($args, $ii, 1, array('--'.$arg_key, $val));
|
||||
$size++;
|
||||
}
|
||||
|
||||
if (!array_key_exists($arg_key, $spec)) {
|
||||
$corrected = ArcanistConfiguration::correctArgumentSpelling(
|
||||
$arg_key,
|
||||
|
@ -706,7 +715,7 @@ abstract class ArcanistWorkflow extends Phobject {
|
|||
if (empty($options['param'])) {
|
||||
$dict[$arg_key] = true;
|
||||
} else {
|
||||
if ($ii == count($args) - 1) {
|
||||
if ($ii == $size - 1) {
|
||||
throw new ArcanistUsageException(pht(
|
||||
"Option '%s' requires a parameter.",
|
||||
$arg));
|
||||
|
|
Loading…
Reference in a new issue