From 5cc2c50ebbb1475f060b71c0b91820022ecc6c19 Mon Sep 17 00:00:00 2001 From: Robert Krahn Date: Sat, 16 Mar 2013 23:51:33 -0700 Subject: [PATCH] [incremental search] emacs uses isearch by default --- demo/kitchen-sink/demo.js | 6 +++++- demo/kitchen-sink/util.js | 2 +- lib/ace/incremental_search.js | 1 + lib/ace/keyboard/emacs.js | 7 +++---- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/demo/kitchen-sink/demo.js b/demo/kitchen-sink/demo.js index 8ef6ec68..476a53c8 100644 --- a/demo/kitchen-sink/demo.js +++ b/demo/kitchen-sink/demo.js @@ -392,10 +392,14 @@ bindCheckbox("elastic_tabstops", function(checked) { env.editor.setOption("useElasticTabstops", checked); }); -bindCheckbox("isearch", function(checked) { +var iSearchCheckbox = bindCheckbox("isearch", function(checked) { env.editor.setOption("useIncrementalSearch", checked); }); +env.editor.addEventListener('incrementalSearchSettingChanged', function(event) { + iSearchCheckbox.checked = event.isEnabled; +}); + function synchroniseScrolling() { var s1 = env.split.$editors[0].session; diff --git a/demo/kitchen-sink/util.js b/demo/kitchen-sink/util.js index 28525e1a..752e79ba 100644 --- a/demo/kitchen-sink/util.js +++ b/demo/kitchen-sink/util.js @@ -171,6 +171,7 @@ exports.bindCheckbox = function(id, callback, noInit) { }; el.onclick = onCheck; noInit || onCheck(); + return el; }; exports.bindDropdown = function(id, callback, noInit) { @@ -235,4 +236,3 @@ function dropdown(values) { }); - diff --git a/lib/ace/incremental_search.js b/lib/ace/incremental_search.js index a9d7c36f..30ecfc18 100644 --- a/lib/ace/incremental_search.js +++ b/lib/ace/incremental_search.js @@ -246,6 +246,7 @@ require("./config").defineOptions(Editor.prototype, "editor", { handler.setupIncrementalSearch(this, val); } }); + this._emit('incrementalSearchSettingChanged', {isEnabled: val}); } } }); diff --git a/lib/ace/keyboard/emacs.js b/lib/ace/keyboard/emacs.js index 36c7e6c7..218d730d 100644 --- a/lib/ace/keyboard/emacs.js +++ b/lib/ace/keyboard/emacs.js @@ -108,10 +108,9 @@ exports.handler.attach = function(editor) { editor.commands.addCommands(commands); exports.handler.platform = editor.commands.platform; editor.$emacsModeHandler = this; - var hasISearch = editor.getOption('useIncrementalSearch'); - if (hasISearch != this.usesIncrementalSearch) { - this.setupIncrementalSearch(editor, hasISearch); - }; + require('../incremental_search'); + editor.setOption('useIncrementalSearch', true); + this.setupIncrementalSearch(editor, true); }; exports.handler.detach = function(editor) {