textMoveByWord function

TextCursorCommandResult textMoveByWord({
  1. required TextDocument document,
  2. required TextOffsetStateSnapshot state,
  3. required bool forward,
  4. GraphemePredicate isWord = _isWordGrapheme,
  5. bool extendSelection = false,
  6. bool clearSelection = false,
})

Implementation

TextCursorCommandResult textMoveByWord({
  required TextDocument document,
  required TextOffsetStateSnapshot state,
  required bool forward,
  nav.GraphemePredicate isWord = _isWordGrapheme,
  bool extendSelection = false,
  bool clearSelection = false,
}) {
  final targetOffset = forward
      ? nav.moveWordForwardFromReader(
          document.length,
          state.cursorOffset,
          isWord: isWord,
          graphemeAt: document.graphemeAt,
        )
      : nav.moveWordBackwardFromReader(
          document.length,
          state.cursorOffset,
          isWord: isWord,
          graphemeAt: document.graphemeAt,
        );
  return moveCursorToOffset(
    textLength: document.length,
    cursorOffset: state.cursorOffset,
    selectionBaseOffset: state.selectionBaseOffset,
    selectionExtentOffset: state.selectionExtentOffset,
    targetOffset: targetOffset,
    extendSelection: extendSelection,
    clearSelection: clearSelection,
  );
}