| 1 | <?php |
||
| 6 | class TextOutput extends AbstractOutput implements TriggerableInterface |
||
| 7 | { |
||
| 8 | use TextTriggerTrait; |
||
| 9 | |||
| 10 | /** |
||
| 11 | * @inheritdoc |
||
| 12 | */ |
||
| 13 | public function result(AnalysisResult $result) |
||
| 14 | { |
||
| 15 | foreach ($result->toArray() as $fileName => $lines) { |
||
| 16 | $this->cli->br(); |
||
| 17 | |||
| 18 | $issuesCount = $this->countIssues($lines); |
||
| 19 | $issues = '(1 issue)'; |
||
| 20 | |||
| 21 | if ($issuesCount > 1) { |
||
| 22 | $issues = '(' . $issuesCount . ' issues)'; |
||
| 23 | } |
||
| 24 | |||
| 25 | $this->cli->yellowFlank($fileName . ' ' . $issues, '=', 2); |
||
| 26 | |||
| 27 | foreach ($lines as $line => $issues) { |
||
| 28 | foreach ($issues as $issue) { |
||
| 29 | $this->cli->cyan()->inline($line . ': '); |
||
| 30 | $this->cli->inline(trim($issue['message'])); |
||
| 31 | $this->cli->br(); |
||
| 32 | } |
||
| 33 | } |
||
| 34 | } |
||
| 35 | } |
||
| 36 | |||
| 37 | /** |
||
| 38 | * Count number of issues for a given file |
||
| 39 | * @param array[] $file |
||
| 40 | * @return integer number of issues in all lines |
||
| 41 | */ |
||
| 42 | private function countIssues($file) |
||
| 54 | } |
||
| 55 |