Sha256: 15582cd04b8ab9d98f927949f3af43fc86aafea2c2ec5c302a18cadeabc51f8d

Contents?: true

Size: 1.29 KB

Versions: 21

Compression:

Stored size: 1.29 KB

Contents

// Because sometimes you need to style the cursor's line.
//
// Adds an option 'styleActiveLine' which, when enabled, gives the
// active line's wrapping <div> the CSS class "CodeMirror-activeline",
// and gives its background <div> the class "CodeMirror-activeline-background".

(function() {
  "use strict";
  var WRAP_CLASS = "CodeMirror-activeline";
  var BACK_CLASS = "CodeMirror-activeline-background";

  CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
    var prev = old && old != CodeMirror.Init;
    if (val && !prev) {
      updateActiveLine(cm);
      cm.on("cursorActivity", updateActiveLine);
    } else if (!val && prev) {
      cm.off("cursorActivity", updateActiveLine);
      clearActiveLine(cm);
      delete cm.state.activeLine;
    }
  });

  function clearActiveLine(cm) {
    if ("activeLine" in cm.state) {
      cm.removeLineClass(cm.state.activeLine, "wrap", WRAP_CLASS);
      cm.removeLineClass(cm.state.activeLine, "background", BACK_CLASS);
    }
  }

  function updateActiveLine(cm) {
    var line = cm.getLineHandleVisualStart(cm.getCursor().line);
    if (cm.state.activeLine == line) return;
    clearActiveLine(cm);
    cm.addLineClass(line, "wrap", WRAP_CLASS);
    cm.addLineClass(line, "background", BACK_CLASS);
    cm.state.activeLine = line;
  }
})();

Version data entries

21 entries across 21 versions & 4 rubygems

Version Path
gump-0.1.6 server/assets/js/jquery.codemirror/addon/selection/active-line.js
codemirror-rails-3.20 vendor/assets/javascripts/codemirror/addons/selection/active-line.js
codemirror-rails-3.19 vendor/assets/javascripts/codemirror/addons/selection/active-line.js
codemirror-rails-3.18 vendor/assets/javascripts/codemirror/addons/selection/active-line.js
codemirror-rails-3.17 vendor/assets/javascripts/codemirror/addons/selection/active-line.js
poly-cms-0.1.2 core/admin/assets/js/vendor/codemirror/addon/selection/active-line.js
poly-cms-0.1.1 core/admin/assets/js/vendor/codemirror/addon/selection/active-line.js
poly-cms-0.1.0 core/admin/assets/js/vendor/codemirror/addon/selection/active-line.js
bonethug-0.0.17 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.16 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.15 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.14 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.13 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.12 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.11 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.10 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
codemirror-rails-3.16 vendor/assets/javascripts/codemirror/addons/selection/active-line.js
bonethug-0.0.7 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.6 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js
bonethug-0.0.5 skel/project_types/silverstripe3/public/abc/lib/codemirror/addon/selection/active-line.js