in tool/scorecard.dart [55:115]
StringBuffer buildFooter(ScoreCard scorecard, List<Detail> details) {
var pedanticLintCount = 0;
var flutterUserLintCount = 0;
var flutterRepoLintCount = 0;
var fixCount = 0;
var pedanticFixCount = 0;
for (var score in scorecard.scores) {
for (var ruleSet in score.ruleSets!) {
if (ruleSet == 'pedantic') {
++pedanticLintCount;
if (score.hasFix!) {
++pedanticFixCount;
}
}
if (ruleSet == 'flutter') {
++flutterUserLintCount;
}
if (ruleSet == 'flutter_repo') {
++flutterRepoLintCount;
}
}
if (score.hasFix!) {
++fixCount;
}
}
var footer = StringBuffer('\n_${scorecard.lintCount} lints');
var breakdowns = StringBuffer();
if (details.contains(Detail.pedantic)) {
breakdowns.write('$pedanticLintCount pedantic');
}
if (details.contains(Detail.flutterUser)) {
if (breakdowns.isNotEmpty) {
breakdowns.write(', ');
}
breakdowns.write('$flutterUserLintCount flutter user');
}
if (details.contains(Detail.flutterRepo)) {
if (breakdowns.isNotEmpty) {
breakdowns.write(', ');
}
breakdowns.write('$flutterRepoLintCount flutter repo');
}
if (breakdowns.isNotEmpty) {
breakdowns.write('; ');
}
breakdowns.write('$fixCount w/ fixes');
if (details.contains(Detail.pedantic)) {
breakdowns.write(' ($pedanticFixCount pedantic)');
}
if (breakdowns.isNotEmpty) {
footer.write(': $breakdowns');
}
footer.writeln('_');
return footer;
}