trimIndents method
Implementation
String trimIndents() {
final lines = trim().split('\n');
final nonEmptyLines =
lines.where((line) => line.trim().isNotEmpty).toList();
if (nonEmptyLines.isEmpty) return '';
final int minIndent = nonEmptyLines.fold(double.maxFinite.toInt(), (min, line) {
final leadingSpaces = line.length - line.trimLeft().length;
return leadingSpaces < min ? leadingSpaces : min;
});
return lines
.map((line) {
if (line.trim().isEmpty) return '';
return line.length > minIndent ? line.substring(minIndent) : line;
})
.join('\n');
}