small cleanups
This commit is contained in:
parent
8c7b030128
commit
b34d25f82d
3 changed files with 15 additions and 13 deletions
|
|
@ -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 || {});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 = [{
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue