Sha256: 58710dd1a6cd95ac2379fd6148d1b8a80eb14e509213000b51fc99687dede2f1

Contents?: true

Size: 1.45 KB

Versions: 26

Compression:

Stored size: 1.45 KB

Contents

// 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";
})();

Version data entries

26 entries across 26 versions & 4 rubygems

Version Path
gump-0.1.6 server/assets/js/jquery.codemirror/keymap/extra.js
codemirror-rails-3.24 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.23 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.22 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.21 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.20 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.19 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.18 vendor/assets/javascripts/codemirror/keymaps/extra.js
codemirror-rails-3.17 vendor/assets/javascripts/codemirror/keymaps/extra.js
poly-cms-0.1.2 core/admin/assets/js/vendor/codemirror/keymap/extra.js
poly-cms-0.1.1 core/admin/assets/js/vendor/codemirror/keymap/extra.js
poly-cms-0.1.0 core/admin/assets/js/vendor/codemirror/keymap/extra.js
bonethug-0.0.17 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.16 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.15 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.14 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.13 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.12 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.11 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js
bonethug-0.0.10 skel/project_types/silverstripe3/public/abc/lib/codemirror/keymap/extra.js