* Responsible for providing the values to the shell completion.
*
* @author Wouter de Jong <wouter@wouterj.nl>
*/
#[AsCommand(name: '|_complete', description: 'Internal command to provide shell completion suggestions')]
finalclassCompleteCommandextendsCommand
{
publicconstCOMPLETION_API_VERSION='1';
privatearray$completionOutputs;
privatebool$isDebug=false;
/**
* @param array<string, class-string<CompletionOutputInterface>> $completionOutputs A list of additional completion outputs, with shell name as key and FQCN as value
thrownew\RuntimeException(\sprintf('Shell completion is not supported for your shell: "%s" (supported: "%s").',$shell,implode('", "',array_keys($this->completionOutputs))));