in tool/doc.dart [653:704]
void generate({String? filePath}) {
var buffer = StringBuffer();
buffer.writeln('# Rule $name');
buffer.writeln();
buffer.writeln('**Group**: $group\\');
buffer.writeln('**Maturity**: $maturity\\');
buffer.writeln('**Since**: $since\\');
buffer.writeln();
// badges
if (coreRules.contains(name)) {
buffer.writeln('[]'
'(https://github.com/dart-lang/lints/blob/main/lib/core.yaml)');
}
if (recommendedRules.contains(name)) {
buffer.writeln('[]'
'https://github.com/dart-lang/lints/blob/main/lib/recommended.yaml)');
}
if (flutterRules.contains(name)) {
buffer.writeln('[]'
'(https://github.com/flutter/packages/blob/master/packages/'
'flutter_lints/lib/flutter.yaml)');
}
if (pedanticRules.contains(name)) {
buffer.writeln('[]'
'(https://github.com/dart-lang/pedantic/#enabled-lints)');
}
buffer.writeln();
buffer.writeln('## Description');
buffer.writeln();
buffer.writeln(details.trim());
// incompatible rules
var incompatibleRules = rule.incompatibleRules;
if (incompatibleRules.isNotEmpty) {
buffer.writeln('## Incompatible With');
buffer.writeln();
for (var rule in incompatibleRules) {
buffer.writeln('- [$rule]($rule.md)');
}
buffer.writeln();
}
if (filePath == null) {
print(buffer.toString());
} else {
File('$filePath/$name.md').writeAsStringSync(buffer.toString());
}
}