setCommands($commands); } /** * Set commands for completion. * * @param Command[] $commands */ public function setCommands(array $commands): void { $names = []; foreach ($commands as $command) { $names[] = $command->getName(); foreach ($command->getAliases() as $alias) { $names[] = $alias; } } \sort($names); $this->commandNames = $names; } /** * {@inheritdoc} */ public function appliesToKind(int $kinds): bool { return ($kinds & CompletionKind::COMMAND) !== 0; } /** * {@inheritdoc} */ public function getCompletions(AnalysisResult $analysis): array { return $this->commandNames; } }