small cleanups

This commit is contained in:
Fabian Jakobs 2012-04-12 15:59:45 +02:00
commit b34d25f82d
3 changed files with 15 additions and 13 deletions

View file

@ -13,7 +13,7 @@ var CommandManager = function(platform, commands) {
this.addCommands(commands); this.addCommands(commands);
this.setDefaultHandler("exec", function(e) { this.setDefaultHandler("exec", function(e) {
e.command.exec(e.editor, e.args || {}) e.command.exec(e.editor, e.args || {});
}); });
}; };

View file

@ -56,7 +56,7 @@ require("./default_commands").commands.forEach(function(command) {
else if (mapOver.test(command.name)) else if (mapOver.test(command.name))
command.multiSelectAction = "forEach"; command.multiSelectAction = "forEach";
else if (command.name == "transposeletters") else if (command.name == "transposeletters")
command.multiSelectAction = function(editor) {editor.transposeSelections(1); } command.multiSelectAction = function(editor) {editor.transposeSelections(1); };
}); });
// commands to enter multiselect mode // commands to enter multiselect mode
@ -105,7 +105,7 @@ exports.defaultCommands = [{
exec: function(editor) { editor.multiSelect.splitIntoLines(); }, exec: function(editor) { editor.multiSelect.splitIntoLines(); },
bindKey: {win: "Ctrl-Shift-L", mac: "Ctrl-Shift-L"}, bindKey: {win: "Ctrl-Shift-L", mac: "Ctrl-Shift-L"},
readonly: true readonly: true
}, ]; }];
// commands active in multiselect mode // commands active in multiselect mode
exports.multiEditCommands = [{ exports.multiEditCommands = [{

View file

@ -266,7 +266,7 @@ var EditSession = require("./edit_session").EditSession;
// extend Editor // extend Editor
var Editor = require("./editor").Editor; var Editor = require("./editor").Editor;
;(function() { ;(function() {
this.updateSelectionMarkers = function(orientedRange) { this.updateSelectionMarkers = function() {
this.renderer.updateCursor(); this.renderer.updateCursor();
this.renderer.updateBackMarkers(); this.renderer.updateBackMarkers();
}; };
@ -353,9 +353,10 @@ var Editor = require("./editor").Editor;
this.forEachSelection = function(cmd, args) { this.forEachSelection = function(cmd, args) {
if (this.inVirtualSelectionMode) if (this.inVirtualSelectionMode)
return; return;
var session = this.session
var selection = this.selection var session = this.session;
var rangeList = selection.rangeList var selection = this.selection;
var rangeList = selection.rangeList;
var reg = selection._eventRegistry; var reg = selection._eventRegistry;
selection._eventRegistry = {}; selection._eventRegistry = {};
@ -390,9 +391,11 @@ var Editor = require("./editor").Editor;
var text = ""; var text = "";
if (this.inMultiSelectMode) { if (this.inMultiSelectMode) {
var ranges = this.multiSelect.rangeList.ranges; var ranges = this.multiSelect.rangeList.ranges;
text = [];
for (var i = 0; i < ranges.length; i++) { for (var i = 0; i < ranges.length; i++) {
text += this.session.getTextRange(ranges[i]); text.push(this.session.getTextRange(ranges[i]));
} }
text = text.join(this.session.getDocument().getNewLineCharacter());
} else if (!this.selection.isEmpty()) { } else if (!this.selection.isEmpty()) {
text = this.session.getTextRange(this.getSelectionRange()); text = this.session.getTextRange(this.getSelectionRange());
} }
@ -414,8 +417,8 @@ var Editor = require("./editor").Editor;
}, },
readonly: true, readonly: true,
multiSelectAction: "forEach" multiSelectAction: "forEach"
} };
this.commands.exec(cmd, this) this.commands.exec(cmd, this);
}; };
// commands // commands
@ -500,13 +503,12 @@ var Editor = require("./editor").Editor;
var range = sel.toOrientedRange(); var range = sel.toOrientedRange();
if (range.isEmpty()) { if (range.isEmpty()) {
var range = session.getWordRange(range.start.row, range.start.column) var range = session.getWordRange(range.start.row, range.start.column);
range.cursor = range.end; range.cursor = range.end;
this.multiSelect.addRange(range); this.multiSelect.addRange(range);
} }
var needle = session.getTextRange(range); var needle = session.getTextRange(range);
var newRange = find(session, needle, dir); var newRange = find(session, needle, dir);
if (newRange) { if (newRange) {
newRange.cursor = dir == -1 ? newRange.start : newRange.end; newRange.cursor = dir == -1 ? newRange.start : newRange.end;
@ -558,7 +560,7 @@ exports.onSessionChange = function(e) {
else else
this.$onSingleSelect(); this.$onSingleSelect();
} }
} };
// adds multicursor support to editor instance // adds multicursor support to editor instance
function MultiSelect(editor) { function MultiSelect(editor) {