diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-19 23:54:12 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-20 00:01:37 +0900 |
| commit | e5fcde172b38d9a71292d0b4dd7f5d347da2e748 (patch) | |
| tree | c1091a1d94efb1c3ac1cda7c59a18ce53d74313b /crates/shirabe-external-packages/src/symfony/console/command/list_command.rs | |
| parent | adfa7c6b295521a6f8fdf4084993a80a8030e49b (diff) | |
| download | php-shirabe-e5fcde172b38d9a71292d0b4dd7f5d347da2e748.tar.gz php-shirabe-e5fcde172b38d9a71292d0b4dd7f5d347da2e748.tar.zst php-shirabe-e5fcde172b38d9a71292d0b4dd7f5d347da2e748.zip | |
feat(command): implement --help output
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/command/list_command.rs')
| -rw-r--r-- | crates/shirabe-external-packages/src/symfony/console/command/list_command.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/command/list_command.rs b/crates/shirabe-external-packages/src/symfony/console/command/list_command.rs index 9edebe4..bfaece7 100644 --- a/crates/shirabe-external-packages/src/symfony/console/command/list_command.rs +++ b/crates/shirabe-external-packages/src/symfony/console/command/list_command.rs @@ -6,6 +6,7 @@ use crate::symfony::console::completion::completion_suggestions::{ CompletionSuggestions, StringOrSuggestion, }; use crate::symfony::console::descriptor::application_description::ApplicationDescription; +use crate::symfony::console::descriptor::descriptor_interface::DescribableObject; use crate::symfony::console::helper::descriptor_helper::DescriptorHelper; use crate::symfony::console::input::input_argument::InputArgument; use crate::symfony::console::input::input_definition::DefinitionItem; @@ -136,11 +137,8 @@ impl Command for ListCommand { input: Rc<RefCell<dyn InputInterface>>, output: Rc<RefCell<dyn OutputInterface>>, ) -> anyhow::Result<i64> { - let helper = DescriptorHelper::new(); - // TODO: DescriptorHelper::describe2 takes the described object as Option<PhpMixed>, - // but PhpMixed cannot hold an Application. The Command/Application object mixing for - // describe needs a dedicated type (Phase C). - let object: Option<PhpMixed> = todo!(); + let mut helper = DescriptorHelper::new(); + let object = DescribableObject::Application(self.get_application().unwrap()); let mut options = indexmap::IndexMap::new(); options.insert("format".to_string(), input.borrow().get_option("format")?); options.insert("raw_text".to_string(), input.borrow().get_option("raw")?); @@ -149,7 +147,7 @@ impl Command for ListCommand { input.borrow().get_argument("namespace")?, ); options.insert("short".to_string(), input.borrow().get_option("short")?); - let _ = helper.describe2(&mut *output.borrow_mut(), object, options); + helper.describe2(output.clone(), object, options)?; Ok(0) } |
