function keyCommandPlainDelete(editorState: EditorState): EditorState {
  const afterRemoval = removeTextWithStrategy(
    editorState,
    strategyState => {
      const selection = strategyState.getSelection();
      const content = strategyState.getCurrentContent();
      const key = selection.getAnchorKey();
      const offset = selection.getAnchorOffset();
      const charAhead = content.getBlockForKey(key).getText()[offset];
      return moveSelectionForward(
        strategyState,
        charAhead ? UnicodeUtils.getUTF16Length(charAhead, 0) : 1,
      );
    },
    'forward',
  );

  if (afterRemoval === editorState.getCurrentContent()) {
    return editorState;
  }

  const selection = editorState.getSelection();

  return EditorState.push(
    editorState,
    afterRemoval.setSelectionBefore(selection),
    selection.isCollapsed() ? 'delete-character' : 'remove-range',
  );
}
Remove the selected range. If the cursor is collapsed, remove the following
character. This operation is Unicode-aware, so removing a single character
will remove a surrogate pair properly as well.