selectWordEdge method
Implementation
void selectWordEdge({required SelectionChangedCause cause}) {
assert(cause != null);
_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);
}
/// zmt
newSelection = hasSpecialInlineSpanBase
? convertTextPainterSelectionToTextInputSelection(text!, newSelection)
: newSelection;
setSelection(newSelection, cause);
}