mediawiki-extensions-CodeEd.../modules/ace/ext-statusbar.js
Derk-Jan Hartman 28c4b5ac10 Update ACE to Mar 16, 2014
This should be merged at the same time as it's followup patch, which
fixes an issue with loading webworkers when hosted on protocol
relative URLs.

Amongst other issues, it fixes bug 60156 with } pairing

Bug: 60156
Change-Id: I962c70ea2a07d27e0c3774095d63f9a5cd3de76e
2014-03-25 17:46:47 +00:00

51 lines
1.6 KiB
JavaScript

define('ace/ext/statusbar', ['require', 'exports', 'module' , 'ace/lib/dom', 'ace/lib/lang'], function(require, exports, module) {
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));
editor.on("changeStatus", function() {
statusUpdate.schedule(100);
});
editor.on("changeSelection", function() {
statusUpdate.schedule(100);
});
};
(function(){
this.updateStatus = function(editor) {
var status = [];
function add(str, separator) {
str && status.push(str, separator || "|");
}
if (editor.$vimModeHandler)
add(editor.$vimModeHandler.getStatusText());
else if (editor.commands.recording)
add("REC");
var c = editor.selection.lead;
add(c.row + ":" + c.column, " ");
if (!editor.selection.isEmpty()) {
var r = editor.getSelectionRange();
add("(" + (r.end.row - r.start.row) + ":" +(r.end.column - r.start.column) + ")");
}
status.pop();
this.element.textContent = status.join("");
};
}).call(StatusBar.prototype);
exports.StatusBar = StatusBar;
});;
(function() {
window.require(["ace/ext/statusbar"], function() {});
})();