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 |