aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/hud.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts/hud.coffee')
-rw-r--r--content_scripts/hud.coffee25
1 files changed, 24 insertions, 1 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee
index f16fcca6..c64670ee 100644
--- a/content_scripts/hud.coffee
+++ b/content_scripts/hud.coffee
@@ -77,7 +77,30 @@ HUD =
focusNode?.focus()
findModeQuery.rawQuery = data.query
- handlerStack.bubbleEvent "keydown", data.event
+ @findModeKeydown data.event
+
+ findModeKeydown: (event) ->
+ window.scrollTo findMode.scrollX, findMode.scrollY if findMode.options.returnToViewport
+ if event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey
+ findMode.exit()
+ new PostFindMode if findModeQueryHasResults
+ else if event.keyCode == keyCodes.enter
+ handleEnterForFindMode()
+ findMode.exit()
+ new PostFindMode if findModeQueryHasResults
+ else if event.keyCode == keyCodes.upArrow
+ if rawQuery = FindModeHistory.getQuery findMode.historyIndex + 1
+ findMode.historyIndex += 1
+ findMode.partialQuery = findModeQuery.rawQuery if findMode.historyIndex == 0
+ HUD.showFindMode rawQuery
+ else if event.keyCode == keyCodes.downArrow
+ findMode.historyIndex = Math.max -1, findMode.historyIndex - 1
+ rawQuery = if 0 <= findMode.historyIndex then FindModeHistory.getQuery findMode.historyIndex else findMode.partialQuery
+ HUD.showFindMode rawQuery
+ else if KeyboardUtils.isEscape event
+ findMode.exit()
+ handleEscapeForFindMode()
+ new PostFindMode if findModeQueryHasResults
isReady: do ->
ready = false