List srcHtmlWithTips()

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;
  }