From c1057e473ff3b6aa36f44ce716e8b8ec06c0b9ce Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 23 Sep 2013 23:50:11 +0400 Subject: [PATCH 1/3] ctrl-alt-right shouldn't select second word at once --- lib/ace/multi_select.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index 0612357d..91643937 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -696,6 +696,7 @@ var Editor = require("./editor").Editor; var range = session.getWordRange(range.start.row, range.start.column); range.cursor = range.end; this.multiSelect.addRange(range); + return; } var needle = session.getTextRange(range); From d0208903de0b9fd3117b26b52a4f6925314160d7 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 24 Sep 2013 00:17:40 +0400 Subject: [PATCH 2/3] update test --- lib/ace/multi_select_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); From 14a4aa2715d859bb575b2fd0413e07eba0ccf3f4 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 24 Sep 2013 00:21:55 +0400 Subject: [PATCH 3/3] set correct direction on first range --- lib/ace/multi_select.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index 91643937..a811b6be 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -694,7 +694,7 @@ 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; }