aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/mode.coffee
diff options
context:
space:
mode:
authorStephen Blott2015-01-26 11:30:21 +0000
committerStephen Blott2015-01-26 11:32:18 +0000
commitd57b08232513b285360b220dbb4de91bc6b61765 (patch)
tree7cd5ee0f8dd50de6811fa7321b573ab6dc0327c7 /content_scripts/mode.coffee
parentf644d622ffd7b8ce332d4c2470cd52772abadb2a (diff)
downloadvimium-d57b08232513b285360b220dbb4de91bc6b61765.tar.bz2
Visual/edit modes: fix problem resuming insert mode.
Diffstat (limited to 'content_scripts/mode.coffee')
-rw-r--r--content_scripts/mode.coffee6
1 files changed, 6 insertions, 0 deletions
diff --git a/content_scripts/mode.coffee b/content_scripts/mode.coffee
index e80df69c..8178a140 100644
--- a/content_scripts/mode.coffee
+++ b/content_scripts/mode.coffee
@@ -160,6 +160,12 @@ class Mode
handler: "setBadge"
badge: badge.badge
+ # Activate a mode, but first remove any keyboard-event handlers which may be in its options. This allows us
+ # to re-activate (or clone) a previously-active mode.
+ @cloneMode: (mode, options) ->
+ delete options[type] for type in [ "keydown", "keypress", "keyup" ]
+ new mode options
+
# Debugging routines.
logModes: ->
if @debug