From 79872cac5ddd1da329bb996bf8858a4ed51d60ce Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Wed, 15 Dec 2010 19:17:45 +0100 Subject: [PATCH] collapse line selection for outdented rows --- lib/ace/document.js | 13 +++++++------ lib/ace/editor.js | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/ace/document.js b/lib/ace/document.js index 291ad4c3..32ae57a9 100644 --- a/lib/ace/document.js +++ b/lib/ace/document.js @@ -632,10 +632,11 @@ var Document = function(text, mode) { }; this.outdentRows = function (range) { - var deleteRange = new Range(0, 0, 0, 0), - size = this.getTabSize(); + var rowRange = range.collapseRows(); + var deleteRange = new Range(0, 0, 0, 0); + var size = this.getTabSize(); - for (var i = range.start.row; i <= range.end.row; ++i) { + for (var i = rowRange.start.row; i <= rowRange.end.row; ++i) { var line = this.getLine(i); deleteRange.start.row = i; @@ -647,9 +648,9 @@ var Document = function(text, mode) { deleteRange.start.column = j; deleteRange.end.column = j + 1; } else { - deleteRange.start.column = 0; - deleteRange.end.column = j; - } + deleteRange.start.column = 0; + deleteRange.end.column = j; + } if (i == range.start.row) range.start.column -= deleteRange.end.column - deleteRange.start.column; if (i == range.end.row) diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 7c18514c..a442c38f 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -629,8 +629,8 @@ var Editor =function(renderer, doc) { if (this.$readOnly) return; - var selection = this.doc.getSelection(), - range = this.doc.outdentRows(selection.getRange()); + var selection = this.doc.getSelection(); + var range = this.doc.outdentRows(selection.getRange()); selection.setSelectionRange(range, selection.isBackwards()); this.$updateDesiredColumn();