@atlaskit/editor-plugin-code-block-advanced
Version:
CodeBlockAdvanced plugin for @atlaskit/editor-core
28 lines • 797 B
JavaScript
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
export const backspaceKeymap = ({
cm,
view,
getPos,
getNode
}) => {
var _getPos;
const ranges = cm.state.selection.ranges;
if (ranges.length > 1) {
return false;
}
const selection = ranges[0];
if (selection && (!selection.empty || selection.anchor > 0)) {
return false;
}
if (cm.state.doc.lines >= 2) {
return false;
}
const state = view.state;
const pos = (_getPos = getPos()) !== null && _getPos !== void 0 ? _getPos : 0;
const node = getNode();
const 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;
};