From 616bf24a313790164c1a59f587a59b2abeae225b Mon Sep 17 00:00:00 2001 From: mikedeboer Date: Tue, 24 Apr 2012 16:46:52 +0200 Subject: [PATCH] a document change now doesn't scroll the cursor into view --- lib/ace/editor.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 0e1df71b..13aea2be 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -282,6 +282,14 @@ var Editor = function(renderer, session) { this._emit("blur"); }; + function cursorChange() { + this.renderer.updateCursor(); + + // move text input over the cursor + // this is required for iOS and IME + this.renderer.moveTextAreaToCursor(this.textInput.getElement()); + } + this.onDocumentChange = function(e) { var delta = e.data; var range = delta.range; @@ -296,7 +304,7 @@ var Editor = function(renderer, session) { this._emit("change", e); // update cursor because tab characters can influence the cursor position - this.onCursorChange(); + cursorChange.call(this); }; this.onTokenizerUpdate = function(e) { @@ -313,16 +321,12 @@ var Editor = function(renderer, session) { }; this.onCursorChange = function() { - this.renderer.updateCursor(); + cursorChange.call(this); if (!this.$blockScrolling) { this.renderer.scrollCursorIntoView(); } - // move text input over the cursor - // this is required for iOS and IME - this.renderer.moveTextAreaToCursor(this.textInput.getElement()); - this.$highlightBrackets(); this.$updateHighlightActiveLine(); }; @@ -1239,7 +1243,7 @@ var Editor = function(renderer, session) { var cursor = this.getCursorPosition(); if (!this.isRowFullyVisible(cursor.row)) this.scrollToLine(cursor.row, true); - + //@todo scroll X //if (!this.isColumnFullyVisible(cursor.column)) //this.scrollToRow(cursor.column);