removeReverseHangingIndent method

String removeReverseHangingIndent(
  1. String indentation
)

Removes indentation from only the first line if present.

Pairs with reverseHangingIndent to undo reverse hanging indentation.

Example:

'  line1\nline2\nline3'.removeReverseHangingIndent('  ')
// 'line1\nline2\nline3'

'>>> First\nRest'.removeReverseHangingIndent('>>> ')
// 'First\nRest'

Implementation

String removeReverseHangingIndent(String indentation) {
  if (isEmpty || indentation.isEmpty) return this;
  final lines = split('\n');

  String firstLine = lines.first;
  if (firstLine.startsWith(indentation)) {
    firstLine = firstLine.substring(indentation.length);
  }

  if (lines.length == 1) return firstLine;
  return [firstLine, ...lines.skip(1)].join('\n');
}