From 741a66e504545dbb5bc76da259739f5683f707ca Mon Sep 17 00:00:00 2001 From: digitalkaoz Date: Sat, 10 Mar 2012 21:55:23 +0100 Subject: [PATCH] added description to show command, searching in description aswell --- src/Composer/Command/SearchCommand.php | 20 ++++++++++++++++++-- src/Composer/Command/ShowCommand.php | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Composer/Command/SearchCommand.php b/src/Composer/Command/SearchCommand.php index 7a25a2294..c5d692cf1 100644 --- a/src/Composer/Command/SearchCommand.php +++ b/src/Composer/Command/SearchCommand.php @@ -18,6 +18,7 @@ use Symfony\Component\Console\Output\OutputInterface; use Composer\Repository\CompositeRepository; use Composer\Repository\PlatformRepository; use Composer\Repository\ComposerRepository; +use Composer\Package\PackageInterface; /** * @author Robert Schönthal @@ -60,8 +61,8 @@ EOT foreach ($repos->getPackages() as $package) { foreach ($tokens as $token) { - if (false === ($pos = strpos($package->getName(), $token)) && (false === strpos(join(',',$package->getKeywords() ?: array()), $token))) { - continue; + if ($this->isUnmatchedPackage($package, $token)) { + continue; } if (false !== ($pos = strpos($package->getName(), $token))) { @@ -83,4 +84,19 @@ EOT $output->writeln($name .' : '. join(', ', $versions)); } } + + /** + * tries to find a token within the name/keywords/description + * + * @param PackageInterface $package + * @param string $token + * @return boolean + */ + private function isUnmatchedPackage(PackageInterface $package, $token) + { + return (false === strpos($package->getName(), $token)) && + (false === strpos(join(',',$package->getKeywords() ?: array()), $token)) && + (false === strpos($package->getDescription(), $token)) + ; + } } \ No newline at end of file diff --git a/src/Composer/Command/ShowCommand.php b/src/Composer/Command/ShowCommand.php index 5e8bf262a..57bdbbbeb 100644 --- a/src/Composer/Command/ShowCommand.php +++ b/src/Composer/Command/ShowCommand.php @@ -132,7 +132,7 @@ EOT */ protected function printMeta(InputInterface $input, OutputInterface $output, PackageInterface $package, RepositoryInterface $installedRepo, RepositoryInterface $repos) { - $output->writeln('name : ' . $package->getPrettyName()); + $output->writeln('name : ' . $package->getPrettyName(). ' '.$package->getDescription()); $this->printVersions($input, $output, $package, $installedRepo, $repos); $output->writeln('type : ' . $package->getType()); $output->writeln('names : ' . join(', ', $package->getNames()));