codeOutdentedIndent function

String codeOutdentedIndent(
  1. String indent,
  2. int width
)

Implementation

String codeOutdentedIndent(String indent, int width) {
  if (indent.isEmpty || width < 1) {
    return indent;
  }
  if (indent.endsWith('\t')) {
    return indent.substring(0, indent.length - 1);
  }

  final removeCount = math.min(width, indent.length);
  final trailing = indent.substring(indent.length - removeCount);
  if (trailing.runes.every((rune) => rune == 0x20)) {
    return indent.substring(0, indent.length - removeCount);
  }

  final lastSpace = indent.lastIndexOf(' ');
  if (lastSpace >= 0) {
    return indent.substring(0, lastSpace);
  }
  return '';
}