textDeleteWordBackward function
TextCommandResult
textDeleteWordBackward({
- required TextDocument document,
- required TextOffsetStateSnapshot state,
- GraphemePredicate isWord = _isWordGrapheme,
Implementation
TextCommandResult textDeleteWordBackward({
required TextDocument document,
required TextOffsetStateSnapshot state,
nav.GraphemePredicate isWord = _isWordGrapheme,
}) {
if (state.cursorOffset <= 0) {
return _unchangedDocumentCommandResult(document, state);
}
final range = nav.deleteWordBackwardRangeFromReader(
document.length,
state.cursorOffset,
isWord: isWord,
graphemeAt: document.graphemeAt,
);
if (range.start >= state.cursorOffset) {
return _unchangedDocumentCommandResult(document, state);
}
final working = document.copy();
final result = edit_ops.removeDocumentRange(
working,
start: range.start,
end: state.cursorOffset,
);
return _documentCommandResult(
working,
cursorOffset: result.cursorOffset,
documentChange: result.change,
changed: result.changed,
);
}