1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-11 09:32:55 +00:00

config --list should only list relevant sections

This commit is contained in:
Jordi Boggiano 2012-10-07 16:37:59 +02:00
parent 4086c24778
commit 8403178ddb

View file

@ -129,7 +129,7 @@ EOT
// List the configuration of the file settings
if ($input->getOption('list')) {
$this->displayFileContents($this->configFile->read(), $output);
$this->listConfiguration($this->configFile->read(), $output);
return 0;
}
@ -267,14 +267,16 @@ EOT
* @param OutputInterface $output
* @param string|null $k
*/
protected function displayFileContents(array $contents, OutputInterface $output, $k = null)
protected function listConfiguration(array $contents, OutputInterface $output, $k = null)
{
// @todo Look into a way to refactor this code, as it is right now, I
// don't like it, also the name of the function could be better
foreach ($contents as $key => $value) {
if ($k === null && !in_array($key, array('config', 'repositories'))) {
continue;
}
if (is_array($value)) {
$k .= $key . '.';
$this->displayFileContents($value, $output, $k);
$k .= preg_replace('{^config\.}', '', $key . '.');
$this->listConfiguration($value, $output, $k);
if (substr_count($k,'.') > 1) {
$k = str_split($k,strrpos($k,'.',-2));