text: define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"], function(require, exports, module) {
  "use strict";
  var dom = require("ace/lib/dom");
  var lang = require("ace/lib/lang");
  
  var StatusBar = function(editor, parentNode) {
      this.element = dom.createElement("div");
      this.element.className = "ace_status-indicator";
      this.element.style.cssText = "display: inline-block;";
      parentNode.appendChild(this.element);
  
      var statusUpdate = lang.delayedCall(function(){
          this.updateStatus(editor)
      }.bind(this)).schedule.bind(null, 100);
      
      editor.on("changeStatus", statusUpdate);
      editor.on("changeSelection", statusUpdate);
      editor.on("keyboardActivity", statusUpdate);
  };
  
  (function(){
      this.updateStatus = function(editor) {
          var status = [];
          function add(str, separator) {
              str && status.push(str, separator || "|");
          }
  
          add(editor.keyBinding.getStatusText(editor));
          if (editor.commands.recording)
              add("REC");
          
          var sel = editor.selection;
          var c = sel.lead;
          
          if (!sel.isEmpty()) {
              var r = editor.getSelectionRange();
              // add("(" + (r.end.row - r.start.row) + ":"  +(r.end.column - r.start.column) + ")", " ");
          }
          add("Line: " + (c.row + 1) + " " + "Col: " + (c.column + 1), " ");
          // add(c.row + ":" + c.column, " ");
          if (sel.rangeCount)
              add("[" + sel.rangeCount + "]", " ");
          status.pop();
          this.element.textContent = status.join("");
      };
  }).call(StatusBar.prototype);
  
  exports.StatusBar = StatusBar;
  
  });
                  (function() {
                      window.require(["ace/ext/statusbar"], function() {});
                  })();
              