@@ -71,7 +71,11 @@ export default function(CodeMirror) {
71
71
var state = getSearchState ( cm ) ;
72
72
73
73
CodeMirror . on ( searchField , "keyup" , function ( e ) {
74
- if ( e . keyCode !== 13 && searchField . value . length > 1 ) { // not enter and more than 1 character to search
74
+ if ( e . keyCode === 13 ) {
75
+ // If enter is pressed, then shift focus to replace field
76
+ replaceField . focus ( ) ;
77
+ }
78
+ else if ( e . keyCode !== 13 && searchField . value . length > 1 ) { // not enter and more than 1 character to search
75
79
startSearch ( cm , getSearchState ( cm ) , searchField . value ) ;
76
80
} else if ( searchField . value . length <= 1 ) {
77
81
cm . display . wrapper . querySelector ( '.CodeMirror-search-results' ) . innerText = '' ;
@@ -157,7 +161,7 @@ export default function(CodeMirror) {
157
161
158
162
var replaceField = document . getElementById ( 'Replace-input-field' ) ;
159
163
CodeMirror . on ( replaceField , "keyup" , function ( e ) {
160
- if ( e . keyCode == 13 ) // if enter
164
+ if ( e . keyCode === 13 ) // if enter
161
165
{
162
166
startSearch ( cm , getSearchState ( cm ) , searchField . value ) ;
163
167
replace ( cm , parseString ( searchField . value ) , parseString ( replaceField . value ) ) ;
@@ -170,6 +174,12 @@ export default function(CodeMirror) {
170
174
replace ( cm , parseString ( searchField . value ) , parseString ( replaceField . value ) ) ;
171
175
} )
172
176
177
+ var doReplaceAllButton = document . getElementById ( 'Btn-replace-all' ) ;
178
+ CodeMirror . on ( doReplaceAllButton , "click" , function ( e ) {
179
+ startSearch ( cm , getSearchState ( cm ) , searchField . value ) ;
180
+ replace ( cm , parseString ( searchField . value ) , parseString ( replaceField . value ) , true ) ;
181
+ } )
182
+
173
183
} else {
174
184
searchField . focus ( ) ;
175
185
searchField . select ( ) ;
@@ -483,6 +493,15 @@ export default function(CodeMirror) {
483
493
>
484
494
<span aria-hidden="true" class="button">Replace</span>
485
495
</button>
496
+ <button
497
+ title="Replace All"
498
+ aria-label="Replace All"
499
+ role="button"
500
+ id="Btn-replace-all"
501
+ class="CodeMirror-search-modifier-button CodeMirror-replace-button"
502
+ >
503
+ <span aria-hidden="true" class="button">Replace All</span>
504
+ </button>
486
505
</div>
487
506
` ;
488
507
0 commit comments