selectWordEdge method

void selectWordEdge({
  1. required SelectionChangedCause cause,
})

Move the selection to the beginning or end of a word.

Implementation

void selectWordEdge({required SelectionChangedCause cause}) {
  _computeTextMetricsIfNeeded();
  assert(_lastTapDownPosition != null);
  final TextPosition position = _textPainter.getPositionForOffset(
      globalToLocal(_lastTapDownPosition! - _paintOffset));
  final TextRange word = _textPainter.getWordBoundary(position);
  late TextSelection newSelection;
  if (position.offset <= word.start) {
    newSelection = TextSelection.collapsed(offset: word.start);
  } else {
    newSelection = TextSelection.collapsed(
        offset: word.end, affinity: TextAffinity.upstream);
  }
  _setSelection(newSelection, cause);
}