From 24e135775567fdebc5ed22b9a7fcd266c732453a Mon Sep 17 00:00:00 2001 From: Mihai Sucan Date: Sat, 12 Feb 2011 20:40:58 +0200 Subject: [PATCH] Make sure the current search needle is not lost. --- lib/ace/editor.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 7cc6cdb7..74a82d1e 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -74,7 +74,7 @@ var Editor =function(renderer, session) { this.$selectionMarker = null; this.$highlightLineMarker = null; this.$blockScrolling = 0; - this.$selectedWordMarkers = []; + this.$selectionOccurrences = []; this.$search = new Search().set({ wrap: true @@ -237,7 +237,7 @@ var Editor =function(renderer, session) { }; this.highlightSelection = function() { - if (this.$selectedWordMarkers.length) + if (this.$selectionOccurrences.length) this.clearSelectionHighlight(); var selectedRange = this.getSelectionRange(); @@ -253,15 +253,17 @@ var Editor =function(renderer, session) { this.$search.set(newOptions); var ranges = this.$search.findAll(this.session); - this.$selectedWordMarkers = []; + this.$selectionOccurrences = []; ranges.forEach(function(range) { if (!range.contains(selectedRange.start.row, selectedRange.start.column)) - this.$selectedWordMarkers.push(this.renderer.addMarker(range, "ace_selected_word")); + this.$selectionOccurrences.push(this.renderer.addMarker(range, "ace_selected_word")); }, this); + + this.$search.set(currentOptions); }; this.clearSelectionHighlight = function() { - this.$selectedWordMarkers.forEach(function(marker) { + this.$selectionOccurrences.forEach(function(marker) { this.renderer.removeMarker(marker); }, this); };