diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index 7332a9a6..857ffba0 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -199,10 +199,19 @@ var EditSession = require("./edit_session").EditSession; this.setSelectionRange(range, lastRange.cursor == lastRange.start); } else { var range = this.getRange(); + var isBackwards = this.isBackwards(); var startRow = range.start.row; var endRow = range.end.row; - if (startRow == endRow) + if (startRow == endRow) { + if (isBackwards) + var start = range.end, end = range.start; + else + var start = range.start, end = range.end; + + this.addRange(Range.fromPoints(end, end)); + this.addRange(Range.fromPoints(start, start)); return; + } var rectSel = []; var r = this.getLineRange(startRow, true);