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