   #
   # Returns nothing.
   execute: (count=1) ->
-    # if we already have typed text, we've already been executed.
-
     @editor.beginTransaction()
     operator = new Delete(@editor, @vimState, allowEOL: true, selectOptions: {excludeWhitespace: true})
     operator.compose(@motion)
     operator.execute(count)
+    # if we already have typed text, we've already been executed.
     return super if @typed
+    
     @vimState.activateInsertMode(transactionStarted = true)
     @typed = true
 

    return undefined unless @transaction
    return true
    window.trans = @transaction
    console.log "set window.trans"
    typedSingleChars = (patch.oldText == "" && patch.newText != "" for patch in @transaction.patches)
    _.every(typedSingleChars)


  constructor: (@transaction) ->

  buildInsertText: ->
    return undefined unless @isJustTyping()
    typedCharacters = (patch.newText for patch in @transaction.patches)
    typedCharacters.join("")
