diff options
| author | Stephen Blott | 2015-01-10 08:25:02 +0000 |
|---|---|---|
| committer | Stephen Blott | 2015-01-10 11:03:01 +0000 |
| commit | fdcdd0113049042c94b2b56a6b716e2da58b860e (patch) | |
| tree | 5cbeacce234df58fc1f5c125f2055a591578a510 /content_scripts/vimium_frontend.coffee | |
| parent | ac90db47aa2671cd663cc6a9cdf783dc30a582e9 (diff) | |
| download | vimium-fdcdd0113049042c94b2b56a6b716e2da58b860e.tar.bz2 | |
Modes; instrument for debugging...
- Set Mode.debug to true to see mode activation/deactivation on the
console.
- Use Mode.log() to see a list of currently-active modes.
- Use handlerStack.debugOn() to enable debugging of the handler stack.
Diffstat (limited to 'content_scripts/vimium_frontend.coffee')
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index a9bf30a3..1406b1e7 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -396,10 +396,16 @@ extend window, visibleInputs[selectedInputIndex].element.focus() @suppressEvent else unless event.keyCode == KeyboardUtils.keyCodes.shiftKey - @exit event - # In @exit(), we just pushed a new mode (usually insert mode). Restart bubbling, so that the - # new mode can now see the event too. - @restartBubbling + mode = @exit event + if mode + # In @exit(), we just pushed a new mode (usually insert mode). Restart bubbling, so that the + # new mode can now see the event too. + # Exception: If the new mode exits on Escape, and this key event is Escape, then rebubbling the + # event will just cause the mode to exit immediately. So we suppress Escapes. + if mode.options.exitOnEscape and KeyboardUtils.isEscape event + @suppressEvent + else + @restartBubbling visibleInputs[selectedInputIndex].element.focus() return @exit() if visibleInputs.length == 1 |
