From cd6ebd846719812941a62f71ea99485c28f16135 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 28 Jul 2012 16:16:10 +0400 Subject: [PATCH] improve performance of search result folding --- lib/ace/mode/folding/c9search.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/ace/mode/folding/c9search.js b/lib/ace/mode/folding/c9search.js index 2c9828de..7b8253c7 100644 --- a/lib/ace/mode/folding/c9search.js +++ b/lib/ace/mode/folding/c9search.js @@ -48,18 +48,19 @@ oop.inherits(FoldMode, BaseFoldMode); (function() { - this.foldingStartMarker = /^(\w.*\:|Searching for.*)$/; + this.foldingStartMarker = /^(\S.*\:|Searching for.*)$/; this.foldingStopMarker = /^(\s+|Found.*)$/; this.getFoldWidgetRange = function(session, foldStyle, row) { - var line = session.getLine(row); + var lines = session.doc.getAllLines(row); + var line = lines[row]; var level1 = /^(Found.*|Searching for.*)$/; - var level2 = /^(\w.*\:|\s*)$/; + var level2 = /^(\S.*\:|\s*)$/; var re = level1.test(line) ? level1 : level2; if (this.foldingStartMarker.test(line)) { for (var i = row + 1, l = session.getLength(); i < l; i++) { - if (re.test(session.getLine(i))) + if (re.test(lines[i])) break; } @@ -68,7 +69,7 @@ oop.inherits(FoldMode, BaseFoldMode); if (this.foldingStopMarker.test(line)) { for (var i = row - 1; i >= 0; i--) { - line = session.getLine(i); + line = lines[i]; if (re.test(line)) break; }