diff --git a/lib/ace/ext/searchbox.css b/lib/ace/ext/searchbox.css
index ca58e74d..5de8d847 100644
--- a/lib/ace/ext/searchbox.css
+++ b/lib/ace/ext/searchbox.css
@@ -7,7 +7,7 @@
background-color: #ddd;
border: 1px solid #cbcbcb;
border-top: 0 none;
- max-width: 297px;
+ max-width: 325px;
overflow: hidden;
margin: 0;
padding: 4px;
diff --git a/lib/ace/ext/searchbox.js b/lib/ace/ext/searchbox.js
index fbbaa8f3..0369f2d0 100644
--- a/lib/ace/ext/searchbox.js
+++ b/lib/ace/ext/searchbox.js
@@ -46,6 +46,7 @@ var html = '
\
\
\
\
+ \
\
\
\
@@ -170,6 +171,11 @@ var SearchBox = function(editor, range, showReplaceForm) {
sb.replace();
sb.findPrev();
},
+ "Alt-Return": function(sb) {
+ if (sb.activeInput == sb.replaceInput)
+ sb.replaceAll();
+ sb.findAll();
+ },
"Tab": function(sb) {
(sb.activeInput == sb.replaceInput ? sb.searchInput : sb.replaceInput).focus();
}
@@ -229,6 +235,18 @@ var SearchBox = function(editor, range, showReplaceForm) {
this.findPrev = function() {
this.find(true, true);
};
+ this.findAll = function(){
+ var range = this.editor.findAll(this.searchInput.value, {
+ regExp: this.regExpOption.checked,
+ caseSensitive: this.caseSensitiveOption.checked,
+ wholeWord: this.wholeWordOption.checked
+ });
+ var noMatch = !range && this.searchInput.value;
+ dom.setCssClass(this.searchBox, "ace_nomatch", noMatch);
+ this.editor._emit("findSearchBox", { match: !noMatch });
+ this.highlight();
+ this.hide();
+ };
this.replace = function() {
if (!this.editor.getReadOnly())
this.editor.replace(this.replaceInput.value);