protected function execute(InputInterface $input, OutputInterface $output) { // init repos $platformRepo = new PlatformRepository(); if ($composer = $this->getComposer(false)) { $localRepo = $composer->getRepositoryManager()->getLocalRepository(); $installedRepo = new CompositeRepository(array($localRepo, $platformRepo)); $repos = new CompositeRepository(array_merge(array($installedRepo), $composer->getRepositoryManager()->getRepositories())); } else { $defaultRepos = Factory::createDefaultRepositories($this->getIO()); $output->writeln('No composer.json found in the current directory, showing packages from ' . implode(', ', array_keys($defaultRepos))); $installedRepo = $platformRepo; $repos = new CompositeRepository(array_merge(array($installedRepo), $defaultRepos)); } $this->tokens = $input->getArgument('tokens'); $this->output = $output; $repos->filterPackages(array($this, 'processPackage'), 'Composer\\Package\\CompletePackage'); foreach ($this->lowMatches as $details) { $output->writeln($details['name'] . '<comment>:</comment> ' . $details['description']); } }