String prefixLines()

in lib/src/utils.dart [55:70]


String prefixLines(String text, String prefix,
    {String? first, String? last, String? single}) {
  single ??= first ?? last ?? prefix;
  first ??= prefix;
  last ??= prefix;

  var lines = text.split('\n');
  if (lines.length == 1) return '$single$text';

  var buffer = StringBuffer('$first${lines.first}\n');
  for (var line in lines.skip(1).take(lines.length - 2)) {
    buffer.writeln('$prefix$line');
  }
  buffer.write('$last${lines.last}');
  return buffer.toString();
}