protected function runCompletion()
{
$this->setUp();
$projectIds = array_keys($this->projects);
$this->handler->addHandlers([new Completion('project:get', 'id', Completion::TYPE_ARGUMENT, $projectIds), Completion::makeGlobalHandler('project', Completion::TYPE_OPTION, $projectIds), Completion::makeGlobalHandler('environment', Completion::TYPE_ARGUMENT, [$this, 'getEnvironments']), Completion::makeGlobalHandler('environment', Completion::TYPE_OPTION, [$this, 'getEnvironments']), new Completion('environment:branch', 'parent', Completion::TYPE_ARGUMENT, [$this, 'getEnvironments']), new Completion('environment:checkout', 'id', Completion::TYPE_ARGUMENT, [$this, 'getEnvironmentsForCheckout']), new Completion('user:role', 'email', Completion::TYPE_ARGUMENT, [$this, 'getUserEmails']), new Completion('user:role', 'level', Completion::TYPE_OPTION, ['project', 'environment']), new Completion('user:delete', 'email', Completion::TYPE_ARGUMENT, [$this, 'getUserEmails']), new Completion\ShellPathCompletion('ssh-key:add', 'path', Completion::TYPE_ARGUMENT), new Completion\ShellPathCompletion('domain:add', 'cert', Completion::TYPE_OPTION), new Completion\ShellPathCompletion('domain:add', 'key', Completion::TYPE_OPTION), new Completion\ShellPathCompletion('domain:add', 'chain', Completion::TYPE_OPTION), new Completion\ShellPathCompletion('local:build', 'source', Completion::TYPE_OPTION), new Completion\ShellPathCompletion('local:build', 'destination', Completion::TYPE_OPTION), new Completion\ShellPathCompletion('environment:sql-dump', 'file', Completion::TYPE_OPTION), new Completion\ShellPathCompletion('local:init', 'directory', Completion::TYPE_ARGUMENT), Completion::makeGlobalHandler('app', Completion::TYPE_OPTION, [$this, 'getAppNames'])]);
try {
return $this->handler->runCompletion();
} catch (\Exception $e) {
// Suppress exceptions so that they are not displayed during
// completion.
}
return [];
}