@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
27 lines • 1.05 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var prosemirror_1 = require("../../prosemirror");
function codeMirrorKeymapsPlugin() {
return prosemirror_1.keymap({
ArrowLeft: arrowHandler('left'),
ArrowRight: arrowHandler('right'),
ArrowUp: arrowHandler('up'),
ArrowDown: arrowHandler('down')
});
}
exports.default = codeMirrorKeymapsPlugin;
function arrowHandler(dir) {
return function (state, dispatch, view) {
if (state.selection.empty && view.endOfTextblock(dir)) {
var side = dir === 'left' || dir === 'up' ? -1 : 1;
var $head = state.selection.$head;
var nextPos = prosemirror_1.Selection.near(state.doc.resolve(side > 0 ? $head.after() : $head.before()), side);
if (nextPos.$head && nextPos.$head.parent.type.name === 'codeBlock') {
dispatch(state.tr.setSelection(nextPos));
return true;
}
}
return false;
};
}
//# sourceMappingURL=keymaps.js.map