diff --git a/src/search/FindReplace.js b/src/search/FindReplace.js index 3b900de4850..74bb8726420 100644 --- a/src/search/FindReplace.js +++ b/src/search/FindReplace.js @@ -42,6 +42,7 @@ define(function (require, exports, module) { StringUtils = require("utils/StringUtils"), Editor = require("editor/Editor"), EditorManager = require("editor/EditorManager"), + KeyEvent = require("utils/KeyEvent"), ModalBar = require("widgets/ModalBar").ModalBar, ScrollTrackMarkers = require("search/ScrollTrackMarkers"), PanelManager = require("view/PanelManager"), @@ -572,6 +573,25 @@ define(function (require, exports, module) { modalBar = null; } }); + modalBar.getRoot().on("keyup", function (e) { + switch (e.keyCode) { + case KeyEvent.DOM_VK_ESCAPE: + modalBar.close(); + break; + case KeyEvent.DOM_VK_Y: + doReplace(match); + break; + case KeyEvent.DOM_VK_A: + _showReplaceAllPanel(editor, query, text); + break; + case KeyEvent.DOM_VK_N: + advance(); + break; + case KeyEvent.DOM_VK_S: + modalBar.close(); + break; + } + }); }; var doReplace = function (match) { cursor.replace(typeof query === "string" ? text : parseDollars(text, match));