composer/composer — pull request #3376 by neon64 (2014-10-26 02:38:10+00:00)
Title: Added Progress Output

Often Composer can be quite slow, so I though it would be useful to have a system to output progress information.

I added a `ProgressInterface` interface that defines methods for writing progress information.
I also looked through the `Installer` source, and found slow parts of it that should be given the 'progress' treatment.

If you don't specifiy a `ProgressInterface`, it will just default to `VoidProgress` which will output nothing.

At the moment, the only proper `ProgressInterface` implementation is `FileProgress` writes to a JSON file like this:

{
"progress": {
"section": {
"message": "Processing Dev Packages (Task: 'force-links')",
"count": 2,
"total": 0
},
"item": {
"message": "symfony\/translation",
"count": 0,
"total": 66
}
}
}

However I was thinking that in the future you could add a `ConsoleProgress` implementation that would use Symfony's [ProgressBar](http://symfony.com/doc/current/components/console/helpers/progressbar.html) to output progress.

I understand that this probably won't fit in with your plans for Composer, but I thought I'd send a pull request anyway just in case you think it is useful.