From 6af46f289a145e02eb5f8a4d49c13805c1da6e96 Mon Sep 17 00:00:00 2001 From: epriestley Date: Thu, 4 Jun 2020 09:41:58 -0700 Subject: [PATCH] Support short aliases and repeatable arguments in Arcanist Workflow arguments Summary: Ref T13546. Add support for short "-x" flags and repeatable "--say moo --say quack" flags. Test Plan: In future changes, used "arc diff -m" and "arc land --onto ... --onto ...". Maniphest Tasks: T13546 Differential Revision: https://secure.phabricator.com/D21310 --- src/toolset/ArcanistWorkflowArgument.php | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/toolset/ArcanistWorkflowArgument.php b/src/toolset/ArcanistWorkflowArgument.php index 9a936b33..d56b10fb 100644 --- a/src/toolset/ArcanistWorkflowArgument.php +++ b/src/toolset/ArcanistWorkflowArgument.php @@ -8,6 +8,8 @@ final class ArcanistWorkflowArgument private $wildcard; private $parameter; private $isPathArgument; + private $shortFlag; + private $repeatable; public function setKey($key) { $this->key = $key; @@ -27,6 +29,24 @@ final class ArcanistWorkflowArgument return $this->wildcard; } + public function setShortFlag($short_flag) { + $this->shortFlag = $short_flag; + return $this; + } + + public function getShortFlag() { + return $this->shortFlag; + } + + public function setRepeatable($repeatable) { + $this->repeatable = $repeatable; + return $this; + } + + public function getRepeatable() { + return $this->repeatable; + } + public function getPhutilSpecification() { $spec = array( 'name' => $this->getKey(), @@ -46,6 +66,16 @@ final class ArcanistWorkflowArgument $spec['help'] = $help; } + $short = $this->getShortFlag(); + if ($short !== null) { + $spec['short'] = $short; + } + + $repeatable = $this->getRepeatable(); + if ($repeatable !== null) { + $spec['repeat'] = $repeatable; + } + return $spec; }