don't autojump to first match when opening search
This commit is contained in:
		
							parent
							
								
									89431615b3
								
							
						
					
					
						commit
						2ed936af00
					
				| 
						 | 
				
			
			@ -22,6 +22,7 @@ onDOMready().then(() => {
 | 
			
		|||
  const RX_MAYBE_REGEXP = /^\s*\/(.+?)\/([simguy]*)\s*$/;
 | 
			
		||||
 | 
			
		||||
  const state = {
 | 
			
		||||
    firstRun: true,
 | 
			
		||||
    // used for case-sensitive matching directly
 | 
			
		||||
    find: '',
 | 
			
		||||
    // used when /re/ is detected or for case-insensitive matching
 | 
			
		||||
| 
						 | 
				
			
			@ -241,6 +242,7 @@ onDOMready().then(() => {
 | 
			
		|||
    } else {
 | 
			
		||||
      showTally(0, 0);
 | 
			
		||||
    }
 | 
			
		||||
    state.firstRun = false;
 | 
			
		||||
    return found;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -559,6 +561,7 @@ onDOMready().then(() => {
 | 
			
		|||
 | 
			
		||||
  function createDialog(type) {
 | 
			
		||||
    state.originalFocus = document.activeElement;
 | 
			
		||||
    state.firstRun = true;
 | 
			
		||||
 | 
			
		||||
    const dialog = state.dialog = template.searchReplaceDialog.cloneNode(true);
 | 
			
		||||
    Object.assign(dialog, DIALOG_PROPS.dialog);
 | 
			
		||||
| 
						 | 
				
			
			@ -766,7 +769,7 @@ onDOMready().then(() => {
 | 
			
		|||
 | 
			
		||||
  // scrolls the editor to reveal the match
 | 
			
		||||
  function makeMatchVisible(cm, searchCursor) {
 | 
			
		||||
    const canFocus = !state.dialog || !state.dialog.contains(document.activeElement);
 | 
			
		||||
    const canFocus = !state.firstRun && (!state.dialog || !state.dialog.contains(document.activeElement));
 | 
			
		||||
    state.cm = cm;
 | 
			
		||||
 | 
			
		||||
    // scroll within the editor
 | 
			
		||||
| 
						 | 
				
			
			@ -779,12 +782,11 @@ onDOMready().then(() => {
 | 
			
		|||
      unclosedOp: !cm.curOp,
 | 
			
		||||
    });
 | 
			
		||||
    if (!cm.curOp) cm.startOperation();
 | 
			
		||||
    if (canFocus) cm.setSelection(searchCursor.pos.from, searchCursor.pos.to);
 | 
			
		||||
    cm.scrollIntoView(searchCursor.pos, SCROLL_REVEAL_MIN_PX);
 | 
			
		||||
 | 
			
		||||
    // scroll to the editor itself
 | 
			
		||||
    editor.scrollToEditor(cm);
 | 
			
		||||
 | 
			
		||||
    if (!state.firstRun) {
 | 
			
		||||
      editor.scrollToEditor(cm);
 | 
			
		||||
      cm.setSelection(searchCursor.pos.from, searchCursor.pos.to);
 | 
			
		||||
      cm.scrollIntoView(searchCursor.pos, SCROLL_REVEAL_MIN_PX);
 | 
			
		||||
    }
 | 
			
		||||
    // focus or expose as the current search target
 | 
			
		||||
    clearMarker();
 | 
			
		||||
    if (canFocus) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user