aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/console/input/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/console/input/mod.rs')
-rw-r--r--crates/shirabe/src/console/input/mod.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/shirabe/src/console/input/mod.rs b/crates/shirabe/src/console/input/mod.rs
index 093d2f4..9141f0c 100644
--- a/crates/shirabe/src/console/input/mod.rs
+++ b/crates/shirabe/src/console/input/mod.rs
@@ -9,6 +9,21 @@ pub enum InputDefinitionItem {
Option(input_option::InputOption),
}
+impl InputDefinitionItem {
+ /// Converts to the Symfony-typed definition item accepted by `CommandData::set_definition`.
+ pub(crate) fn to_definition_item(
+ &self,
+ ) -> shirabe_external_packages::symfony::console::input::input_definition::DefinitionItem {
+ use shirabe_external_packages::symfony::console::input::input_definition::DefinitionItem;
+ match self {
+ InputDefinitionItem::Argument(argument) => {
+ DefinitionItem::InputArgument(argument.to_base())
+ }
+ InputDefinitionItem::Option(option) => DefinitionItem::InputOption(option.to_base()),
+ }
+ }
+}
+
impl From<input_argument::InputArgument> for InputDefinitionItem {
fn from(value: input_argument::InputArgument) -> Self {
Self::Argument(value)