Merge remote-tracking branch 'nightwing/multiCursor' into multiCursor

Conflicts:
	lib/ace/multi_select.js
This commit is contained in:
Fabian Jakobs 2012-04-12 15:32:33 +02:00
commit d9456740c6

View file

@ -44,7 +44,7 @@ var Selection = require("./selection").Selection;
var onMouseDown = require("./mouse/multi_select_handler").onMouseDown; var onMouseDown = require("./mouse/multi_select_handler").onMouseDown;
exports.commands = require("./commands/multi_select_commands"); exports.commands = require("./commands/multi_select_commands");
// Todo // Todo: session.find or editor.findVolatile that returns range
var Search = require("./search").Search; var Search = require("./search").Search;
var search = new Search(); var search = new Search();
@ -52,7 +52,7 @@ function find(session, needle, dir) {
search.$options.wrap = true; search.$options.wrap = true;
search.$options.needle = needle; search.$options.needle = needle;
search.$options.backwards = dir == -1; search.$options.backwards = dir == -1;
return search.find(session) return search.find(session);
} }
// extend EditSession // extend EditSession
@ -336,6 +336,7 @@ var Editor = require("./editor").Editor;
var editor = e.editor; var editor = e.editor;
if (!command.multiSelectAction) { if (!command.multiSelectAction) {
command.exec(editor, e.args || {}); command.exec(editor, e.args || {});
editor.multiSelect.addRange(editor.multiSelect.toOrientedRange());
editor.multiSelect.mergeOverlappingRanges(); editor.multiSelect.mergeOverlappingRanges();
} else if (command.multiSelectAction == "forEach") { } else if (command.multiSelectAction == "forEach") {
editor.forEachSelection(command, e.args); editor.forEachSelection(command, e.args);
@ -496,7 +497,6 @@ var Editor = require("./editor").Editor;
this.selectMore = function (dir, skip) { this.selectMore = function (dir, skip) {
var session = this.session; var session = this.session;
var sel = session.multiSelect; var sel = session.multiSelect;
var all = sel.ranges;
var range = sel.toOrientedRange(); var range = sel.toOrientedRange();
if (range.isEmpty()) { if (range.isEmpty()) {