aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/console/input.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-28 17:45:06 +0900
committernsfisis <nsfisis@gmail.com>2026-06-28 17:45:26 +0900
commit53f1fb395f33e0fb8db9aebd09ea9082f650f9f1 (patch)
treef9e8bf0e9d4b1e98cce383574fb6a13b684fff08 /crates/shirabe/src/console/input.rs
parent212f5cd75b1403ee75ffa44d7ebdb181174340c0 (diff)
downloadphp-shirabe-53f1fb395f33e0fb8db9aebd09ea9082f650f9f1.tar.gz
php-shirabe-53f1fb395f33e0fb8db9aebd09ea9082f650f9f1.tar.zst
php-shirabe-53f1fb395f33e0fb8db9aebd09ea9082f650f9f1.zip
refactor: add linter
Diffstat (limited to 'crates/shirabe/src/console/input.rs')
-rw-r--r--crates/shirabe/src/console/input.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/crates/shirabe/src/console/input.rs b/crates/shirabe/src/console/input.rs
new file mode 100644
index 0000000..9141f0c
--- /dev/null
+++ b/crates/shirabe/src/console/input.rs
@@ -0,0 +1,37 @@
+pub mod input_argument;
+pub mod input_option;
+
+pub use input_argument::*;
+pub use input_option::*;
+
+pub enum InputDefinitionItem {
+ Argument(input_argument::InputArgument),
+ 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)
+ }
+}
+
+impl From<input_option::InputOption> for InputDefinitionItem {
+ fn from(value: input_option::InputOption) -> Self {
+ Self::Option(value)
+ }
+}