diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-11 16:03:05 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-11 16:03:05 +0900 |
| commit | 1ec2220def43e37e5a65b96dde93c19b493258f4 (patch) | |
| tree | ecb5188e36a52c31a781117807801e3ac344a541 /crates/shirabe-external-packages/src/symfony/console/command | |
| parent | 5d4f18559c2d07c8f05d6585ffc06866411c5a0f (diff) | |
| download | php-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')
| -rw-r--r-- | crates/shirabe-external-packages/src/symfony/console/command/complete_command.rs | 14 |
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(); |
