diff --git a/src/Composer/Command/ConfigCommand.php b/src/Composer/Command/ConfigCommand.php index f997dc29e..e644e2033 100644 --- a/src/Composer/Command/ConfigCommand.php +++ b/src/Composer/Command/ConfigCommand.php @@ -267,25 +267,30 @@ EOT */ protected function listConfiguration(array $contents, OutputInterface $output, $k = null) { + $origK = $k; foreach ($contents as $key => $value) { if ($k === null && !in_array($key, array('config', 'repositories'))) { continue; } - if (is_array($value)) { + if (is_array($value) && !is_numeric(key($value))) { $k .= preg_replace('{^config\.}', '', $key . '.'); $this->listConfiguration($value, $output, $k); - if (substr_count($k,'.') > 1) { - $k = str_split($k,strrpos($k,'.',-2)); + if (substr_count($k, '.') > 1) { + $k = str_split($k, strrpos($k, '.', -2)); $k = $k[0] . '.'; } else { - $k = null; + $k = $origK; } continue; } + if (is_array($value)) { + $value = '['.implode(', ', $value).']'; + } + $output->writeln('[' . $k . $key . '] ' . $value . ''); } }