truncateToWidth function

String truncateToWidth(
  1. String text,
  2. int maxWidth
)

Truncates a string to fit within a maximum display width. Appends '\u2026' (ellipsis) when truncation occurs.

Implementation

String truncateToWidth(String text, int maxWidth) {
  if (stringWidth(text) <= maxWidth) return text;
  if (maxWidth <= 1) return '\u2026';

  var width = 0;
  final buf = StringBuffer();
  for (final char in text.characters) {
    final charWidth = stringWidth(char);
    if (width + charWidth > maxWidth - 1) break;
    buf.write(char);
    width += charWidth;
  }
  buf.write('\u2026');
  return buf.toString();
}