in tool/create_code_with_tooltips.dart [73:107]
List<String> srcHtmlWithTips() {
final result = <String>[];
final srcLines = srcLinesWithoutInitialCommentBlock();
final tooltipAnchors = <String>[];
for (int i = 0; i < srcLines.length; i++, lineNum++) {
final line = srcLines[i];
if (line.contains('//!web-only') ||
line.contains('#docregion') ||
line.contains('#enddocregion')) {
_log.info('Src skip web-only: $lineNum: $line');
continue;
}
var lineWithoutTipInstructions =
extractTooltipAnchors(lineNum, line, tooltipAnchors);
if (isNotBlankRegExp.hasMatch(lineWithoutTipInstructions)) {
final lineWithMarkup = processTipInstruction(
tooltipAnchors, lineNum, lineWithoutTipInstructions);
result.add(lineWithMarkup);
tooltipAnchors.clear();
_log.info('Src added markup #$lineNum: $line ($lineWithMarkup)');
} else if (tooltipAnchors.isEmpty) {
// This is a blank line
result.add(line);
_log.info('Src blank line #$lineNum: $line');
} else {
// [line] only contains tooltip instructions. Don't add it to [result].
// The accumulated [tooltipAnchors] apply to the next line. Fall
// through.
_log.info('Src extracted tips #$lineNum: $line');
}
// lineNum++;
}
return result;
}