src/Composer/Command/BaseDependencyCommand.php
protected function printTree($results, $prefix = '', $level = 1)
    {
        $count = count($results);
        $idx = 0;
        foreach ($results as $result) {
            /**
             * @var PackageInterface $package
             * @var Link             $link
             * @var array|bool       $children
             */
            list($package, $link, $children) = $result;

            $color = $this->colors[$level % count($this->colors)];
            $prevColor = $this->colors[($level - 1) % count($this->colors)];
            $isLast = (++$idx == $count);
            $versionText = (strpos($package->getPrettyVersion(), 'No version set') === 0) ? '' : $package->getPrettyVersion();
            $packageText = rtrim(sprintf('<%s>%s</%1$s> %s', $color, $package->getPrettyName(), $versionText));
            $linkText = sprintf('%s <%s>%s</%2$s> %s', $link->getDescription(), $prevColor, $link->getTarget(), $link->getPrettyConstraint());
            $circularWarn = $children === false ? '(circular dependency aborted here)' : '';
            $this->writeTreeLine(rtrim(sprintf("%s%s%s (%s) %s", $prefix, $isLast ? '└──' : '├──', $packageText, $linkText, $circularWarn)));
            if ($children) {
                $this->printTree($children, $prefix . ($isLast ? '   ' : '│  '), $level + 1);
            }
        }
    }
protected function printTree($results, $prefix = '', $level = 1)
    {
        $count = count($results);
        $idx = 0;
        foreach ($results as $result) {
            /**
             * @var PackageInterface $package
             * @var Link             $link
             * @var array|bool       $children
             */
            list($package, $link, $children) = $result;

            $color = $this->colors[$level % count($this->colors)];
            $prevColor = $this->colors[($level - 1) % count($this->colors)];
            $isLast = (++$idx == $count);
            $versionText = (strpos($package->getPrettyVersion(), 'No version set') === 0) ? '' : $package->getPrettyVersion();
            $packageText = rtrim(sprintf('<%s>%s</%1$s> %s', $color, $package->getPrettyName(), $versionText));
            $linkText = sprintf('%s <%s>%s</%2$s> %s', $link->getDescription(), $prevColor, $link->getTarget(), $link->getPrettyConstraint());
            $circularWarn = $children === false ? '(circular dependency aborted here)' : '';
            $this->writeTreeLine(rtrim(sprintf("%s%s%s (%s) %s", $prefix, $isLast ? '└──' : '├──', $packageText, $linkText, $circularWarn)));
            if ($children) {
                $this->printTree($children, $prefix . ($isLast ? '   ' : '│  '), $level + 1);
            }
        }
    }
protected function printTree ( $ results , $ prefix = '' , $ level = 1 ) { $ count = count ( $ results ) ; $ idx = 0 ; foreach ( $ results as $ result ) { /**
             * @var PackageInterface $package
             * @var Link             $link
             * @var array|bool       $children
             */ list ( $ package , $ link , $ children ) = $ result ; $ color = $ this -> colors [ $ level % count ( $ this -> colors ) ] ; $ prevColor = $ this -> colors [ ( $ level - 1 ) % count ( $ this -> colors ) ] ; $ isLast = ( ++ $ idx == $ count ) ; $ versionText = ( strpos ( $ package -> getPrettyVersion ( ) , 'No version set' ) === 0 ) ? '' : $ package -> getPrettyVersion ( ) ; $ packageText = rtrim ( sprintf ( '<%s>%s</%1$s> %s' , $ color , $ package -> getPrettyName ( ) , $ versionText ) ) ; $ linkText = sprintf ( '%s <%s>%s</%2$s> %s' , $ link -> getDescription ( ) , $ prevColor , $ link -> getTarget ( ) , $ link -> getPrettyConstraint ( ) ) ; $ circularWarn = $ children === false ? '(circular dependency aborted here)' : '' ; $ this -> writeTreeLine ( rtrim ( sprintf ( "%s%s%s (%s) %s" , $ prefix , $ isLast ? '└──' : '├─ '  $packageTe x ,  $linkText, c ircularW a n ))); if ( $ children ) { $ this -> printTree ( $ children , $ prefix . ( $ isLast ? '   ' : '│  '), $ e vel + 1 ; } } }
Recursively prints a tree of the selected results.

@param array  $results Results to be printed at this level.
@param string $prefix  Prefix of the current tree level.
@param int    $level   Current level of recursion.
Recursively prints a tree of the selected results .