mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeEditor
synced 2024-12-25 04:53:15 +00:00
05e6be051c
ACE defaults to a white background now. I have no preference in this, but it is caused by a change in the TextMate theme. There is a bugreport (Bug 55423) about the old blue background. This fixes an annoying problem with Safari 7, where characters are no longer properly measured by ACE. https://github.com/ajaxorg/ace/issues/1534 Fixes double-click to select: https://github.com/ajaxorg/ace/issues/956 Set proper basePath so that require works, allowing conditional loading of ACE resources. Need for Find to work after this update Bug: 55423 Bug: 45876 Bug: 58521 Change-Id: Ia64b67b4553f77c6ba3d2aefec4bab62d111deb7
47 lines
1.5 KiB
JavaScript
47 lines
1.5 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;
|
|
|
|
}); |