From 640c72f44a1be909b486eea3f13622654732e648 Mon Sep 17 00:00:00 2001 From: Matthew Kastor Date: Fri, 5 Apr 2013 00:34:59 -0400 Subject: [PATCH 1/6] adds statusbar to extensions the only thing changed is the statusbar's inline styling has been removed. --- lib/ace/ext/statusbar.js | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lib/ace/ext/statusbar.js diff --git a/lib/ace/ext/statusbar.js b/lib/ace/ext/statusbar.js new file mode 100644 index 00000000..36f9b8e1 --- /dev/null +++ b/lib/ace/ext/statusbar.js @@ -0,0 +1,48 @@ +define(function(require, exports, module) { +"use strict"; +/** simple statusbar **/ +var dom = require("ace/lib/dom"); +var lang = require("ace/lib/lang"); + +var StatusBar = function(editor, parentNode) { + this.element = dom.createElement("div"); + this.element.id = 'lineColIndicator'; + 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; + +}); \ No newline at end of file From 603e4d52c0f28731c070eb75196add63f112f34d Mon Sep 17 00:00:00 2001 From: Matthew Kastor Date: Fri, 5 Apr 2013 00:40:05 -0400 Subject: [PATCH 2/6] adds inline style "display: inline-block;" --- lib/ace/ext/statusbar.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ace/ext/statusbar.js b/lib/ace/ext/statusbar.js index 36f9b8e1..6c0417fb 100644 --- a/lib/ace/ext/statusbar.js +++ b/lib/ace/ext/statusbar.js @@ -7,6 +7,7 @@ var lang = require("ace/lib/lang"); var StatusBar = function(editor, parentNode) { this.element = dom.createElement("div"); this.element.id = 'lineColIndicator'; + this.element.style.cssText = "display: inline-block;"; parentNode.appendChild(this.element); var statusUpdate = lang.delayedCall(function(){ From 43250dd0642fdc91da82aee7f6a23079582d441a Mon Sep 17 00:00:00 2001 From: Matthew Kastor Date: Fri, 5 Apr 2013 00:40:41 -0400 Subject: [PATCH 3/6] adds statusbar demo --- demo/statusbar.html | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 demo/statusbar.html diff --git a/demo/statusbar.html b/demo/statusbar.html new file mode 100644 index 00000000..29b88499 --- /dev/null +++ b/demo/statusbar.html @@ -0,0 +1,58 @@ + + + + + + Editor + + + + +
+    var editor = ace.edit("editor");
+    var StatusBar = ace.require('ace/ext/statusbar').StatusBar;
+    var statusBar = new StatusBar(editor, document.getElementById('statusBar'));
+    editor.setTheme("ace/theme/twilight");
+    editor.getSession().setMode("ace/mode/javascript");
+
+
ace rocks!
+ + + + + + + From 2b362a2fa152711b6e97d09e653571f46295ef04 Mon Sep 17 00:00:00 2001 From: Matthew Kastor Date: Fri, 5 Apr 2013 02:51:51 -0400 Subject: [PATCH 4/6] changed demo title --- demo/statusbar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/statusbar.html b/demo/statusbar.html index 29b88499..72648a94 100644 --- a/demo/statusbar.html +++ b/demo/statusbar.html @@ -3,7 +3,7 @@ - Editor + ACE Editor StatusBar Demo -
-    var editor = ace.edit("editor");
-    var StatusBar = ace.require('ace/ext/statusbar').StatusBar;
-    var statusBar = new StatusBar(editor, document.getElementById('statusBar'));
-    editor.setTheme("ace/theme/twilight");
-    editor.getSession().setMode("ace/mode/javascript");
-
+

 
ace rocks!
- - + + + diff --git a/lib/ace/ext/statusbar.js b/lib/ace/ext/statusbar.js index 6c0417fb..666febfa 100644 --- a/lib/ace/ext/statusbar.js +++ b/lib/ace/ext/statusbar.js @@ -1,49 +1,49 @@ -define(function(require, exports, module) { -"use strict"; -/** simple statusbar **/ -var dom = require("ace/lib/dom"); -var lang = require("ace/lib/lang"); - -var StatusBar = function(editor, parentNode) { - this.element = dom.createElement("div"); - this.element.id = 'lineColIndicator'; - 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; - +define(function(require, exports, module) { +"use strict"; +/** simple statusbar **/ +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; + }); \ No newline at end of file