diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index 0612357d..a811b6be 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -694,8 +694,9 @@ var Editor = require("./editor").Editor; var range = sel.toOrientedRange(); if (range.isEmpty()) { var range = session.getWordRange(range.start.row, range.start.column); - range.cursor = range.end; + range.cursor = dir == -1 ? range.start : range.end; this.multiSelect.addRange(range); + return; } var needle = session.getTextRange(range); diff --git a/lib/ace/multi_select_test.js b/lib/ace/multi_select_test.js index 45ab4965..795aee2b 100644 --- a/lib/ace/multi_select_test.js +++ b/lib/ace/multi_select_test.js @@ -66,7 +66,7 @@ module.exports = { MultiSelect(editor); editor.navigateFileEnd(); - exec("selectMoreBefore", 3); + exec("selectMoreBefore", 4); assert.ok(editor.inMultiSelectMode); assert.equal(editor.selection.getAllRanges().length, 4);