+++ /dev/null
-// A number of additional default bindings that are too obscure to
-// include in the core codemirror.js file.
-
-(function() {
- "use strict";
-
- var Pos = CodeMirror.Pos;
-
- function moveLines(cm, start, end, dist) {
- if (!dist || start > end) return 0;
-
- var from = cm.clipPos(Pos(start, 0)), to = cm.clipPos(Pos(end));
- var text = cm.getRange(from, to);
-
- if (start <= cm.firstLine())
- cm.replaceRange("", from, Pos(to.line + 1, 0));
- else
- cm.replaceRange("", Pos(from.line - 1), to);
- var target = from.line + dist;
- if (target <= cm.firstLine()) {
- cm.replaceRange(text + "\n", Pos(target, 0));
- return cm.firstLine() - from.line;
- } else {
- var targetPos = cm.clipPos(Pos(target - 1));
- cm.replaceRange("\n" + text, targetPos);
- return targetPos.line + 1 - from.line;
- }
- }
-
- function moveSelectedLines(cm, dist) {
- var head = cm.getCursor("head"), anchor = cm.getCursor("anchor");
- cm.operation(function() {
- var moved = moveLines(cm, Math.min(head.line, anchor.line), Math.max(head.line, anchor.line), dist);
- cm.setSelection(Pos(anchor.line + moved, anchor.ch), Pos(head.line + moved, head.ch));
- });
- }
-
- CodeMirror.commands.moveLinesUp = function(cm) { moveSelectedLines(cm, -1); };
- CodeMirror.commands.moveLinesDown = function(cm) { moveSelectedLines(cm, 1); };
-
- CodeMirror.keyMap["default"]["Alt-Up"] = "moveLinesUp";
- CodeMirror.keyMap["default"]["Alt-Down"] = "moveLinesDown";
-})();