setCommands($commands); } /** * {@inheritdoc} */ public function appliesToKind(int $kinds): bool { return ($kinds & CompletionKind::COMMAND_ARGUMENT) !== 0; } /** * {@inheritdoc} */ public function getCompletions(AnalysisResult $analysis): array { $commandName = \is_string($analysis->leftSide) ? $analysis->leftSide : null; $command = $commandName !== null ? ($this->commandMap[$commandName] ?? null) : null; if (!$command instanceof CommandArgumentCompletionAware) { return []; } // CommandContextRefiner already verified supportsArgumentCompletion() // before setting COMMAND_ARGUMENT kind. return $command->getArgumentCompletions($analysis); } }