aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/command/help_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-19 23:54:12 +0900
committernsfisis <nsfisis@gmail.com>2026-06-20 00:01:37 +0900
commite5fcde172b38d9a71292d0b4dd7f5d347da2e748 (patch)
treec1091a1d94efb1c3ac1cda7c59a18ce53d74313b /crates/shirabe-external-packages/src/symfony/console/command/help_command.rs
parentadfa7c6b295521a6f8fdf4084993a80a8030e49b (diff)
downloadphp-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/help_command.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/command/help_command.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/command/help_command.rs b/crates/shirabe-external-packages/src/symfony/console/command/help_command.rs
index 321b640..d98152f 100644
--- a/crates/shirabe-external-packages/src/symfony/console/command/help_command.rs
+++ b/crates/shirabe-external-packages/src/symfony/console/command/help_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;
@@ -137,15 +138,12 @@ impl Command for HelpCommand {
self.command = Some(application.borrow_mut().find(&command_name)?);
}
- let helper = DescriptorHelper::new();
- // TODO: DescriptorHelper::describe2 takes the described object as Option<PhpMixed>,
- // but PhpMixed cannot hold a Command. 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::Command(self.command.clone().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")?);
- let _ = helper.describe2(&mut *output.borrow_mut(), object, options);
+ helper.describe2(output.clone(), object, options)?;
self.command = None;