{{- /* Keep track of our various counts */ -}} {{- $e := 0 -}} {{- $w := 0 -}} {{- $s := 0 -}} {{- $f := 0 -}} {{- /* Range over the linted files */ -}} {{- range .Files}} {{$table := newTable true}} {{- $f = add1 $f -}} {{- .Path | underline | indent 1 -}} {{- /* Range over the file's alerts */ -}} {{- range .Alerts -}} {{- $error := "" -}} {{- if eq .Severity "error" -}} {{- $error = .Severity | red -}} {{- $e = add1 $e -}} {{- else if eq .Severity "warning" -}} {{- $error = .Severity | yellow -}} {{- $w = add1 $w -}} {{- else -}} {{- $error = .Severity | blue -}} {{- $s = add1 $s -}} {{- end}} {{- $loc := printf "%d:%d" .Line (index .Span 0) -}} {{- $row := list $loc $error .Message .Check | toStrings -}} {{- $table = addRow $table $row -}} {{end -}} {{- $table = renderTable $table -}} {{end}} {{- $e}} {{"errors" | red}}, {{$w}} {{"warnings" | yellow}} and {{$s}} {{"suggestions" | blue}} in {{$f}} {{$f | int | plural "file" "files"}}.