(e, query, close)
| 1394 | } |
| 1395 | } |
| 1396 | function onPromptKeyUp(e, query, close) { |
| 1397 | var keyName = CodeMirror.keyName(e), up, offset; |
| 1398 | if (keyName == 'Up' || keyName == 'Down') { |
| 1399 | up = keyName == 'Up' ? true : false; |
| 1400 | offset = e.target ? e.target.selectionEnd : 0; |
| 1401 | query = vimGlobalState.searchHistoryController.nextMatch(query, up) || ''; |
| 1402 | close(query); |
| 1403 | if (offset && e.target) e.target.selectionEnd = e.target.selectionStart = Math.min(offset, e.target.value.length); |
| 1404 | } else { |
| 1405 | if ( keyName != 'Left' && keyName != 'Right' && keyName != 'Ctrl' && keyName != 'Alt' && keyName != 'Shift') |
| 1406 | vimGlobalState.searchHistoryController.reset(); |
| 1407 | } |
| 1408 | var parsedQuery; |
| 1409 | try { |
| 1410 | parsedQuery = updateSearchQuery(cm, query, |
| 1411 | true /** ignoreCase */, true /** smartCase */); |
| 1412 | } catch (e) { |
| 1413 | // Swallow bad regexes for incremental search. |
| 1414 | } |
| 1415 | if (parsedQuery) { |
| 1416 | cm.scrollIntoView(findNext(cm, !forward, parsedQuery), 30); |
| 1417 | } else { |
| 1418 | clearSearchHighlight(cm); |
| 1419 | cm.scrollTo(originalScrollPos.left, originalScrollPos.top); |
| 1420 | } |
| 1421 | } |
| 1422 | function onPromptKeyDown(e, query, close) { |
| 1423 | var keyName = CodeMirror.keyName(e); |
| 1424 | if (keyName == 'Esc' || keyName == 'Ctrl-C' || keyName == 'Ctrl-[' || |
nothing calls this directly
no test coverage detected