protected function executeLint($linter, $output, $fileCount, $cache = true)
{
$maxColumns = floor($this->getScreenColumns() / 2);
$verbosity = $output->getVerbosity();
$linter->setProcessCallback(function ($status, $filename) use($output, $verbosity, $fileCount, $maxColumns) {
static $i = 0;
if ($i && $i % $maxColumns === 0) {
$percent = floor($i / $fileCount * 100);
$output->writeln(str_pad(" {$i} / {$fileCount} ({$percent}%)", 18, ' ', STR_PAD_LEFT));
}
++$i;
if ($verbosity >= OutputInterface::VERBOSITY_VERBOSE) {
$output->writeln('Linting: ' . $filename . "\t" . ($status === 'ok' ? '<info>OK</info>' : '<error>Error</error>'));
} else {
$output->write($status === 'ok' ? '<info>.</info>' : '<error>E</error>');
}
});
return $linter->lint([], $cache);
}