Search only in name
parent
ab1c7fbb9b
commit
ccf2539462
|
@ -14,6 +14,7 @@ namespace Composer\Command;
|
||||||
|
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Input\InputArgument;
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
|
use Symfony\Component\Console\Input\InputOption;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
use Composer\Repository\CompositeRepository;
|
use Composer\Repository\CompositeRepository;
|
||||||
use Composer\Repository\PlatformRepository;
|
use Composer\Repository\PlatformRepository;
|
||||||
|
@ -30,6 +31,7 @@ class SearchCommand extends Command
|
||||||
protected $lowMatches = array();
|
protected $lowMatches = array();
|
||||||
protected $tokens;
|
protected $tokens;
|
||||||
protected $output;
|
protected $output;
|
||||||
|
protected $onlyName;
|
||||||
|
|
||||||
protected function configure()
|
protected function configure()
|
||||||
{
|
{
|
||||||
|
@ -37,6 +39,7 @@ class SearchCommand extends Command
|
||||||
->setName('search')
|
->setName('search')
|
||||||
->setDescription('Search for packages')
|
->setDescription('Search for packages')
|
||||||
->setDefinition(array(
|
->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'),
|
new InputArgument('tokens', InputArgument::IS_ARRAY | InputArgument::REQUIRED, 'tokens to search for'),
|
||||||
))
|
))
|
||||||
->setHelp(<<<EOT
|
->setHelp(<<<EOT
|
||||||
|
@ -63,6 +66,7 @@ EOT
|
||||||
$repos = new CompositeRepository(array_merge(array($installedRepo), $defaultRepos));
|
$repos = new CompositeRepository(array_merge(array($installedRepo), $defaultRepos));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->onlyName = $input->getOption('only-name');
|
||||||
$this->tokens = $input->getArgument('tokens');
|
$this->tokens = $input->getArgument('tokens');
|
||||||
$this->output = $output;
|
$this->output = $output;
|
||||||
$repos->filterPackages(array($this, 'processPackage'), 'Composer\Package\CompletePackage');
|
$repos->filterPackages(array($this, 'processPackage'), 'Composer\Package\CompletePackage');
|
||||||
|
@ -127,11 +131,11 @@ EOT
|
||||||
$score += 5;
|
$score += 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false !== stripos(join(',', $package->getKeywords() ?: array()), $token)) {
|
if (!$this->onlyName && false !== stripos(join(',', $package->getKeywords() ?: array()), $token)) {
|
||||||
$score += 3;
|
$score += 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false !== stripos($package->getDescription(), $token)) {
|
if (!$this->onlyName && false !== stripos($package->getDescription(), $token)) {
|
||||||
$score += 1;
|
$score += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue