From 8e3c1e6096e97ba6c001196c67a822bf0fc2650d Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Thu, 17 Feb 2011 16:11:03 +0100 Subject: [PATCH] let the document act as anchor factory --- lib/ace/document.js | 5 +++++ lib/ace/selection.js | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/ace/document.js b/lib/ace/document.js index e969e158..3fd06c53 100644 --- a/lib/ace/document.js +++ b/lib/ace/document.js @@ -40,6 +40,7 @@ define(function(require, exports, module) { var oop = require("pilot/oop"); var EventEmitter = require("pilot/event_emitter").EventEmitter; var Range = require("ace/range").Range; +var Anchor = require("ace/anchor").Anchor; var Document = function(text) { this.$lines = []; @@ -69,6 +70,10 @@ var Document = function(text) { this.getValue = function() { return this.getAllLines().join(this.getNewLineCharacter()); }; + + this.createAnchor = function(row, column) { + return new Anchor(this, row, column); + }; // check for IE split bug if ("aaa".split(/a/).length == 0) diff --git a/lib/ace/selection.js b/lib/ace/selection.js index 408f044a..5c2a45bb 100644 --- a/lib/ace/selection.js +++ b/lib/ace/selection.js @@ -42,15 +42,14 @@ var oop = require("pilot/oop"); var lang = require("pilot/lang"); var EventEmitter = require("pilot/event_emitter").EventEmitter; var Range = require("ace/range").Range; -var Anchor = require("ace/anchor").Anchor; var Selection = function(session) { this.session = session; this.doc = session.getDocument(); this.clearSelection(); - this.selectionLead = new Anchor(this.doc, 0, 0); - this.selectionAnchor = new Anchor(this.doc, 0, 0); + this.selectionLead = this.doc.createAnchor(0, 0); + this.selectionAnchor = this.doc.createAnchor(0, 0); var _self = this; this.selectionLead.on("change", function(e) {