truncateStartToWidth function
Truncates from the start of a string, keeping the tail end. Prepends '\u2026' when truncation occurs.
Implementation
String truncateStartToWidth(String text, int maxWidth) {
if (stringWidth(text) <= maxWidth) return text;
if (maxWidth <= 1) return '\u2026';
final chars = text.characters.toList();
var width = 0;
var startIdx = chars.length;
for (var i = chars.length - 1; i >= 0; i--) {
final charWidth = stringWidth(chars[i]);
if (width + charWidth > maxWidth - 1) break;
width += charWidth;
startIdx = i;
}
return '\u2026${chars.sublist(startIdx).join()}';
}