truncateToWidth function
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();
}