From 525fe1ffe306a6258578c238b17114a00f71888a Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 18 Oct 2014 00:56:13 +0400 Subject: [PATCH] do not wrap change events in additional e.data --- lib/ace/anchor.js | 4 ++-- lib/ace/document.js | 2 +- lib/ace/document_test.js | 24 ++++++++++++------------ lib/ace/edit_session.js | 21 ++++++++++----------- lib/ace/edit_session/folding.js | 3 +-- lib/ace/editor.js | 5 ++--- lib/ace/ext/chromevox.js | 3 +-- lib/ace/ext/elastic_tabstops_lite.js | 11 +++++------ lib/ace/layer/gutter.js | 3 +-- lib/ace/line_widgets.js | 5 ++--- lib/ace/placeholder.js | 3 +-- lib/ace/range_list.js | 3 +-- lib/ace/snippets.js | 10 +++++----- lib/ace/worker/worker_client.js | 3 +-- 14 files changed, 45 insertions(+), 55 deletions(-) diff --git a/lib/ace/anchor.js b/lib/ace/anchor.js index f3a60277..ff85c13b 100644 --- a/lib/ace/anchor.js +++ b/lib/ace/anchor.js @@ -70,6 +70,7 @@ var Anchor = exports.Anchor = function(doc, row, column) { * @returns {Object} **/ this.getPosition = function() { + //process.exit(2) return this.$clipPositionToDocument(this.row, this.column); }; @@ -99,8 +100,7 @@ var Anchor = exports.Anchor = function(doc, row, column) { * - `value`: An object describing the new Anchor position * **/ - this.onChange = function(e) { - var delta = e.data; + this.onChange = function(delta) { if (delta.start.row == delta.end.row && delta.start.row != this.row) return; diff --git a/lib/ace/document.js b/lib/ace/document.js index 51f6fe8d..c5ccb71b 100644 --- a/lib/ace/document.js +++ b/lib/ace/document.js @@ -579,7 +579,7 @@ var Document = function(textOrLines) { // Apply. applyDelta(this.$lines, delta, doNotValidate); - this._signal("change", {data: delta}); + this._signal("change", delta); }; this.$splitAndapplyLargeDelta = function(delta) { diff --git a/lib/ace/document_test.js b/lib/ace/document_test.js index a91fccf2..ee27f00b 100644 --- a/lib/ace/document_test.js +++ b/lib/ace/document_test.js @@ -46,7 +46,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insert({row: 0, column: 1}, "juhu"); assert.equal(doc.getValue(), ["1juhu2", "34"].join("\n")); @@ -63,7 +63,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insertMergedLines({row: 0, column: 1}, ['', '']); assert.equal(doc.getValue(), ["1", "2", "34"].join("\n")); @@ -80,7 +80,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insertFullLines(0, ["aa", "bb"]); assert.equal(doc.getValue(), ["aa", "bb", "12", "34"].join("\n")); @@ -97,7 +97,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insertFullLines(2, ["aa", "bb"]); assert.equal(doc.getValue(), ["12", "34", "aa", "bb"].join("\n")); @@ -107,7 +107,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insertFullLines(1, ["aa", "bb"]); assert.equal(doc.getValue(), ["12", "aa", "bb", "34"].join("\n")); @@ -124,7 +124,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insert({row: 0, column: 0}, "aa\nbb\ncc"); assert.equal(doc.getValue(), ["aa", "bb", "cc12", "34"].join("\n")); @@ -141,7 +141,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insert({row: 1, column: 2}, "aa\nbb\ncc"); assert.equal(doc.getValue(), ["12", "34aa", "bb", "cc"].join("\n")); @@ -158,7 +158,7 @@ module.exports = { var doc = new Document(["12", "34"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.insert({row: 0, column: 1}, "aa\nbb\ncc"); assert.equal(doc.getValue(), ["1aa", "bb", "cc2", "34"].join("\n")); @@ -175,7 +175,7 @@ module.exports = { var doc = new Document(["1234", "5678"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.remove(new Range(0, 1, 0, 3)); assert.equal(doc.getValue(), ["14", "5678"].join("\n")); @@ -192,7 +192,7 @@ module.exports = { var doc = new Document(["1234", "5678"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.remove(new Range(0, 4, 1, 0)); assert.equal(doc.getValue(), ["12345678"].join("\n")); @@ -209,7 +209,7 @@ module.exports = { var doc = new Document(["1234", "5678", "abcd"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.remove(new Range(0, 2, 2, 2)); assert.equal(doc.getValue(), ["12cd"].join("\n")); @@ -226,7 +226,7 @@ module.exports = { var doc = new Document(["1234", "5678", "abcd"]); var deltas = []; - doc.on("change", function(e) { deltas.push(e.data); }); + doc.on("change", function(e) { deltas.push(e); }); doc.remove(new Range(1, 0, 3, 0)); assert.equal(doc.getValue(), ["1234", ""].join("\n")); diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index 53e98baa..377df45b 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -249,13 +249,12 @@ var EditSession = function(text, mode) { this.$resetRowCache(fold.start.row); }; - this.onChange = function(e) { - var delta = e.data; + this.onChange = function(delta) { this.$modified = true; this.$resetRowCache(delta.start.row); - var removedFolds = this.$updateInternalDataOnChange(e); + var removedFolds = this.$updateInternalDataOnChange(delta); if (!this.$fromUndo && this.$undoManager && !delta.ignore) { this.$deltasDoc.push(delta); if (removedFolds && removedFolds.length != 0) { @@ -269,7 +268,7 @@ var EditSession = function(text, mode) { } this.bgTokenizer && this.bgTokenizer.$updateOnChange(delta); - this._signal("change", e); + this._signal("change", delta); }; /** @@ -1667,11 +1666,11 @@ var EditSession = function(text, mode) { }; }; - this.$updateInternalDataOnChange = function(e) { + this.$updateInternalDataOnChange = function(delta) { var useWrapMode = this.$useWrapMode; - var action = e.data.action; - var start = e.data.start; - var end = e.data.end; + var action = delta.action; + var start = delta.start; + var end = delta.end; var firstRow = start.row; var lastRow = end.row; var len = lastRow - firstRow; @@ -1683,7 +1682,7 @@ var EditSession = function(text, mode) { this[useWrapMode ? "$wrapData" : "$rowLengthCache"].splice(firstRow, len); var foldLines = this.$foldData; - removedFolds = this.getFoldsInRange(e.data); + removedFolds = this.getFoldsInRange(delta); this.removeFolds(removedFolds); var foldLine = this.getFoldLine(end.row); @@ -1748,10 +1747,10 @@ var EditSession = function(text, mode) { } else { // Realign folds. E.g. if you add some new chars before a fold, the // fold should "move" to the right. - len = Math.abs(e.data.start.column - e.data.end.column); + len = Math.abs(delta.start.column - delta.end.column); if (action === "remove") { // Get all the folds in the change range and remove them. - removedFolds = this.getFoldsInRange(e.data); + removedFolds = this.getFoldsInRange(delta); this.removeFolds(removedFolds); len = -len; diff --git a/lib/ace/edit_session/folding.js b/lib/ace/edit_session/folding.js index d5052266..0c1914ce 100644 --- a/lib/ace/edit_session/folding.js +++ b/lib/ace/edit_session/folding.js @@ -827,8 +827,7 @@ function Folding() { } }; - this.updateFoldWidgets = function(e) { - var delta = e.data; + this.updateFoldWidgets = function(delta) { var firstRow = delta.start.row; var len = delta.end.row - firstRow; diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 97c4a8e6..9574d703 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -674,14 +674,13 @@ var Editor = function(renderer, session) { * * **/ - this.onDocumentChange = function(e) { + this.onDocumentChange = function(delta) { // Rerender and emit "change" event. - var delta = e.data; var wrap = this.session.$useWrapMode; var lastRow = (delta.start.row == delta.end.row ? delta.end.row : Infinity); this.renderer.updateLines(delta.start.row, lastRow, wrap); - this._signal("change", e); + this._signal("change", delta); // Update cursor because tab characters can influence the cursor position. this.$cursorChange(); diff --git a/lib/ace/ext/chromevox.js b/lib/ace/ext/chromevox.js index 4abb8278..52a180d4 100644 --- a/lib/ace/ext/chromevox.js +++ b/lib/ace/ext/chromevox.js @@ -578,8 +578,7 @@ var onSelectionChange = function(evt) { * and deleting text. * @param {!Event} evt The event. */ -var onChange = function(evt) { - var data = evt.data; +var onChange = function(delta) { switch (data.action) { case 'remove': cvox.Api.speak(data.text, 0, DELETED_PROP); diff --git a/lib/ace/ext/elastic_tabstops_lite.js b/lib/ace/ext/elastic_tabstops_lite.js index ce5e55f9..0f89423a 100644 --- a/lib/ace/ext/elastic_tabstops_lite.js +++ b/lib/ace/ext/elastic_tabstops_lite.js @@ -44,13 +44,12 @@ var ElasticTabstopsLite = function(editor) { this.onExec = function() { recordChanges = true; }; - this.onChange = function(e) { - var range = e.data; + this.onChange = function(delta) { if (recordChanges) { - if (changedRows.indexOf(range.start.row) == -1) - changedRows.push(range.start.row); - if (range.end.row != range.start.row) - changedRows.push(range.end.row); + if (changedRows.indexOf(delta.start.row) == -1) + changedRows.push(delta.start.row); + if (delta.end.row != delta.start.row) + changedRows.push(delta.end.row); } }; }; diff --git a/lib/ace/layer/gutter.js b/lib/ace/layer/gutter.js index 9608868c..dc1055c2 100644 --- a/lib/ace/layer/gutter.js +++ b/lib/ace/layer/gutter.js @@ -100,10 +100,9 @@ var Gutter = function(parentEl) { } }; - this.$updateAnnotations = function (e) { + this.$updateAnnotations = function (delta) { if (!this.$annotations.length) return; - var delta = e.data; var firstRow = delta.start.row; var len = delta.end.row - firstRow; if (len === 0) { diff --git a/lib/ace/line_widgets.js b/lib/ace/line_widgets.js index 4e5ae39d..ba87d857 100644 --- a/lib/ace/line_widgets.js +++ b/lib/ace/line_widgets.js @@ -113,11 +113,10 @@ function LineWidgets(session) { }); }; - this.updateOnChange = function(e) { + this.updateOnChange = function(delta) { var lineWidgets = this.session.lineWidgets; if (!lineWidgets) return; - - var delta = e.data; + var startRow = delta.start.row; var len = delta.end.row - startRow; diff --git a/lib/ace/placeholder.js b/lib/ace/placeholder.js index d3bf1969..0e299594 100644 --- a/lib/ace/placeholder.js +++ b/lib/ace/placeholder.js @@ -150,8 +150,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass) * Emitted when the place holder updates. * **/ - this.onUpdate = function(event) { - var delta = event.data; + this.onUpdate = function(delta) { var range = delta; if(range.start.row !== range.end.row) return; if(range.start.row !== this.pos.row) return; diff --git a/lib/ace/range_list.js b/lib/ace/range_list.js index a112139a..326bc41b 100644 --- a/lib/ace/range_list.js +++ b/lib/ace/range_list.js @@ -180,8 +180,7 @@ var RangeList = function() { this.session = null; }; - this.$onChange = function(e) { - var delta = e.data; + this.$onChange = function(delta) { if (delta.action == "insert"){ var start = delta.start; var end = delta.end; diff --git a/lib/ace/snippets.js b/lib/ace/snippets.js index 10c34bf0..699cd6e9 100644 --- a/lib/ace/snippets.js +++ b/lib/ace/snippets.js @@ -667,11 +667,11 @@ var TabstopManager = function(editor) { this.editor = null; }; - this.onChange = function(e) { - var changeRange = e.data.range; - var isRemove = e.data.action[0] == "r"; - var start = changeRange.start; - var end = changeRange.end; + this.onChange = function(delta) { + var changeRange = delta; + var isRemove = delta.action[0] == "r"; + var start = delta.start; + var end = delta.end; var startRow = start.row; var endRow = end.row; var lineDif = endRow - startRow; diff --git a/lib/ace/worker/worker_client.js b/lib/ace/worker/worker_client.js index 255a2cea..ba4f20a0 100644 --- a/lib/ace/worker/worker_client.js +++ b/lib/ace/worker/worker_client.js @@ -162,12 +162,11 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) { doc.on("change", this.changeListener); }; - this.changeListener = function(e) { + this.changeListener = function(delta) { if (!this.deltaQueue) { this.deltaQueue = []; setTimeout(this.$sendDeltaQueue, 0); } - var delta = e.data; if (delta.action == "insert") this.deltaQueue.push(delta.start, delta.lines); else