textCapitalizeWords function

String textCapitalizeWords(
  1. String text
)

Implementation

String textCapitalizeWords(String text) {
  final graphemes = text.characters.toList(growable: false);
  final buffer = StringBuffer();
  var capitalizeNext = true;
  for (final grapheme in graphemes) {
    if (_isWordGrapheme(grapheme)) {
      buffer.write(
        capitalizeNext ? grapheme.toUpperCase() : grapheme.toLowerCase(),
      );
      capitalizeNext = false;
    } else {
      buffer.write(grapheme);
      capitalizeNext = true;
    }
  }
  return buffer.toString();
}