moveWordForwardFromReader function
int
moveWordForwardFromReader(
- int length,
- int offset, {
- required GraphemePredicate isWord,
- required GraphemeReader graphemeAt,
Implementation
int moveWordForwardFromReader(
int length,
int offset, {
required GraphemePredicate isWord,
required GraphemeReader graphemeAt,
}) {
if (offset >= length || length <= 0) {
return length;
}
var position = offset + 1;
while (position < length) {
final grapheme = graphemeAt(position);
if (grapheme != null && isWord(grapheme)) {
break;
}
position++;
}
while (position < length) {
final grapheme = graphemeAt(position);
if (grapheme == null || !isWord(grapheme)) {
break;
}
position++;
}
return position.clamp(0, length);
}