aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/mode_visual_edit.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts/mode_visual_edit.coffee')
-rw-r--r--content_scripts/mode_visual_edit.coffee11
1 files changed, 7 insertions, 4 deletions
diff --git a/content_scripts/mode_visual_edit.coffee b/content_scripts/mode_visual_edit.coffee
index 1271a7fe..ff9114e9 100644
--- a/content_scripts/mode_visual_edit.coffee
+++ b/content_scripts/mode_visual_edit.coffee
@@ -456,12 +456,14 @@ class EditMode extends Movement
@launchSubMode VisualMode, extend defaults, options
enterInsertMode: () ->
- @launchSubMode InsertMode, badge: "I", blurOnEscape: false
+ @launchSubMode InsertMode,
+ exitOnEscape: true
+ targetElement: @options.targetElement
launchSubMode: (mode, options = {}) ->
@lastSubMode =
mode: mode
- instance: new mode extend options, editModeParent: @
+ instance: Mode.cloneMode mode, extend options, editModeParent: @
pasteClipboard: (direction) ->
@paste (text) =>
@@ -521,8 +523,9 @@ class SuspendedEditMode extends Mode
@alwaysContinueBubbling =>
if event?.target == editModeOptions.singleton
console.log "#{@id}: reactivating edit mode" if @debug
- editMode = new EditMode editModeOptions
- editMode.launchSubMode lastSubMode.mode, lastSubMode.instance.options if lastSubMode
+ editMode = Mode.cloneMode EditMode, editModeOptions
+ if lastSubMode
+ editMode.launchSubMode lastSubMode.mode, lastSubMode.instance.options
keypress: (event) =>
@alwaysContinueBubbling =>
@exit() unless event.metaKey or event.ctrlKey or event.altKey