truncate function

String truncate(
  1. String str,
  2. int maxWidth, {
  3. bool singleLine = false,
})

Truncates a string with optional single-line mode.

Implementation

String truncate(String str, int maxWidth, {bool singleLine = false}) {
  var result = str;

  if (singleLine) {
    final firstNewline = str.indexOf('\n');
    if (firstNewline != -1) {
      result = str.substring(0, firstNewline);
      if (stringWidth(result) + 1 > maxWidth) {
        return truncateToWidth(result, maxWidth);
      }
      return '$result\u2026';
    }
  }

  if (stringWidth(result) <= maxWidth) return result;
  return truncateToWidth(result, maxWidth);
}