       false
     else
       @getTail() is @getBottom()
-      # @getTail().marker.isEqual @getBottom().marker
 
   isSingleLine: ->
     @editor.getSelections().length is 1

  @extend()
  complete: true

  clearTail: ->
    for s in @editor.getSelections()
      @updateProperty(s, {tail: false})

  clearHead: ->
    for s in @editor.getSelections()
      @updateProperty(s, {head: false})
      s.cursor.setVisible(false)

  updateProperty: (selection, prop) ->
    swrap(selection).updateProperties(blockwise: prop)

  getTop: ->
    _.first @editor.getSelectionsOrderedByBufferPosition()

  getBottom: ->
    _.last @editor.getSelectionsOrderedByBufferPosition()

  @extend()
  delegateTo: 'DeleteToLastCharacterOfLine'
  execute: ->
    @eachSelection (s) ->
      {start} = s.getBufferRange()
      s.cursor.setBufferPosition(start)
    @vimState.activate('normal')
    @new(@delegateTo).execute()
