deletePreviousDocumentGrapheme function

TextDocumentEditResult deletePreviousDocumentGrapheme(
  1. TextDocument document,
  2. int cursorOffset
)

Implementation

TextDocumentEditResult deletePreviousDocumentGrapheme(
  TextDocument document,
  int cursorOffset,
) {
  if (cursorOffset <= 0) {
    return TextDocumentEditResult(
      change: TextDocumentChange(
        startOffset: 0,
        oldEndOffset: 0,
        newEndOffset: 0,
        startPosition: document.positionForOffset(0),
        oldEndPosition: document.positionForOffset(0),
        newEndPosition: document.positionForOffset(0),
      ),
      cursorOffset: 0,
    );
  }
  return removeDocumentRange(
    document,
    start: cursorOffset - 1,
    end: cursorOffset,
    cursorOffset: cursorOffset - 1,
  );
}