@atlaskit/editor-plugin-code-block-advanced
Version:
CodeBlockAdvanced plugin for @atlaskit/editor-core
27 lines • 867 B
JavaScript
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
export var backspaceKeymap = function backspaceKeymap(_ref) {
var _getPos;
var cm = _ref.cm,
view = _ref.view,
getPos = _ref.getPos,
getNode = _ref.getNode;
var ranges = cm.state.selection.ranges;
if (ranges.length > 1) {
return false;
}
var selection = ranges[0];
if (selection && (!selection.empty || selection.anchor > 0)) {
return false;
}
if (cm.state.doc.lines >= 2) {
return false;
}
var state = view.state;
var pos = (_getPos = getPos()) !== null && _getPos !== void 0 ? _getPos : 0;
var node = getNode();
var tr = state.tr.replaceWith(pos, pos + node.nodeSize, state.schema.nodes.paragraph.createChecked({}, node.content));
tr.setSelection(TextSelection.near(tr.doc.resolve(pos)));
view.dispatch(tr);
view.focus();
return true;
};