[incremental search] adding config option for enabling/disabling it

This commit is contained in:
Robert Krahn 2013-03-10 19:34:27 -07:00
commit 4d09567bc0

View file

@ -167,4 +167,33 @@ oop.inherits(IncrementalSearch, Search);
exports.IncrementalSearch = IncrementalSearch;
var Editor = require("./editor").Editor;
require("./config").defineOptions(Editor.prototype, "editor", {
useIncrementalSearch: {
set: function(val) {
var iSearchCommands = require("ace/commands/incremental_search_commands").iSearchStartCommands;
var kbd = ace.getKeyboardHandler();
if (val) {
// enable for whole editor
this.commands.addCommands(iSearchCommands);
if (kbd.isEmacs) { // adapt emacs key handler if used
kbd.oldSearchBindings = {
'c-s': kbd.commmandKeyBinding['c-s'],
'c-r': kbd.commmandKeyBinding['c-r']
}
kbd.bindKey('C-s', 'iSearch');
kbd.bindKey('C-r', 'iSearchBackwards');
}
} else {
this.commands.removeCommands(iSearchCommands);
if (kbd.isEmacs) {
kbd.bindKey('C-s', kbd.oldSearchBindings['c-s']);
kbd.bindKey('C-r', kbd.oldSearchBindings['c-r']);
}
}
}
}
});
});