From 1ec2220def43e37e5a65b96dde93c19b493258f4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 11 Jul 2026 16:03:05 +0900 Subject: feat(completion): thread Rc through suggest_options InputDefinition stores options as Rc for sharing, so CompletionSuggestions::suggest_option[s] now accepts Rc instead of owned values, resolving the ownership mismatch left as a todo!() in Application::complete and CompleteCommand. --- .../src/symfony/console/command/complete_command.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs') 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>) -> String { todo!() } -/// $command->getDefinition()->getOptions() -fn get_definition_options(_command: &Rc>) -> Vec { - // TODO: InputDefinition::get_options() returns `&IndexMap>` but - // CompletionSuggestions::suggest_options() takes `Vec`; the option ownership - // model must be reconciled (Phase C). - todo!() +fn get_definition_options(command: &Rc>) -> Vec> { + command + .borrow() + .get_definition() + .get_options() + .values() + .cloned() + .collect() } /// new $completionOutput(); -- cgit v1.3.1