   @description: "Delete specified surround character like `(`, `[`, `\"`"
   requireTarget: false
 
-  subscribeForInput: ->
-    unless @hasTarget()
-      @focusInputForDeleteSurround()
+  initialize: ->
+    @focusInputForDeleteSurround() unless @hasTarget()
+    super
 
   onConfirmDeleteSurround: (input) ->
     super

  @extend()
  @description: "Surround target by specified character like `(`, `[`, `\"`"

  subscribeForInput: ->
    @onDidSelectTarget(@focusInputForSurround.bind(this))

  getNewText: (text) ->
    @surround(text, @input)

  requireTarget: true
  supportEarlySelect: true # Experimental

  focusInputForSurround: ->
    inputUI = @newInputUI()
    inputUI.onDidConfirm(@onConfirmSurround.bind(this))
