aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-11 16:03:05 +0900
committernsfisis <nsfisis@gmail.com>2026-07-11 16:03:05 +0900
commit1ec2220def43e37e5a65b96dde93c19b493258f4 (patch)
treeecb5188e36a52c31a781117807801e3ac344a541 /crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs
parent5d4f18559c2d07c8f05d6585ffc06866411c5a0f (diff)
downloadphp-shirabe-1ec2220def43e37e5a65b96dde93c19b493258f4.tar.gz
php-shirabe-1ec2220def43e37e5a65b96dde93c19b493258f4.tar.zst
php-shirabe-1ec2220def43e37e5a65b96dde93c19b493258f4.zip
feat(completion): thread Rc<InputOption> through suggest_options
InputDefinition stores options as Rc<InputOption> for sharing, so CompletionSuggestions::suggest_option[s] now accepts Rc<InputOption> instead of owned values, resolving the ownership mismatch left as a todo!() in Application::complete and CompleteCommand.
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs b/crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs
index 7df1f802..d64e4a99 100644
--- a/crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs
+++ b/crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs
@@ -151,12 +151,14 @@ fn get_class_of_command(command: &Rc<RefCell<dyn Command>>) -> String {
todo!()
}
-/// $command->getDefinition()->getOptions()
-fn get_definition_options(_command: &Rc<RefCell<dyn Command>>) -> Vec<InputOption> {
- // TODO: InputDefinition::get_options() returns `&IndexMap<String, Rc<InputOption>>` but
- // CompletionSuggestions::suggest_options() takes `Vec<InputOption>`; the option ownership
- // model must be reconciled (Phase C).
- todo!()
+fn get_definition_options(command: &Rc<RefCell<dyn Command>>) -> Vec<Rc<InputOption>> {
+ command
+ .borrow()
+ .get_definition()
+ .get_options()
+ .values()
+ .cloned()
+ .collect()
}
/// new $completionOutput();