From ccf2539462a249ccc406ec3174ecbd08bcdaab22 Mon Sep 17 00:00:00 2001 From: Ulrich Kautz Date: Wed, 12 Sep 2012 16:55:10 +0200 Subject: [PATCH] Search only in name --- src/Composer/Command/SearchCommand.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Composer/Command/SearchCommand.php b/src/Composer/Command/SearchCommand.php index e332ac1f8..2ecae238f 100644 --- a/src/Composer/Command/SearchCommand.php +++ b/src/Composer/Command/SearchCommand.php @@ -14,6 +14,7 @@ namespace Composer\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Composer\Repository\CompositeRepository; use Composer\Repository\PlatformRepository; @@ -30,6 +31,7 @@ class SearchCommand extends Command protected $lowMatches = array(); protected $tokens; protected $output; + protected $onlyName; protected function configure() { @@ -37,6 +39,7 @@ class SearchCommand extends Command ->setName('search') ->setDescription('Search for packages') ->setDefinition(array( + new InputOption('only-name', 'N', InputOption::VALUE_NONE, 'Search only in name'), new InputArgument('tokens', InputArgument::IS_ARRAY | InputArgument::REQUIRED, 'tokens to search for'), )) ->setHelp(<<onlyName = $input->getOption('only-name'); $this->tokens = $input->getArgument('tokens'); $this->output = $output; $repos->filterPackages(array($this, 'processPackage'), 'Composer\Package\CompletePackage'); @@ -127,11 +131,11 @@ EOT $score += 5; } - if (false !== stripos(join(',', $package->getKeywords() ?: array()), $token)) { + if (!$this->onlyName && false !== stripos(join(',', $package->getKeywords() ?: array()), $token)) { $score += 3; } - if (false !== stripos($package->getDescription(), $token)) { + if (!$this->onlyName && false !== stripos($package->getDescription(), $token)) { $score += 1; }