truncateToWidthNoEllipsis function

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

Truncates a string without appending an ellipsis.

Implementation

String truncateToWidthNoEllipsis(String text, int maxWidth) {
  if (stringWidth(text) <= maxWidth) return text;
  if (maxWidth <= 0) return '';

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