   @extend(false)
   wise: 'characterwise'
   supportCount: false # FIXME #472, #66
+  selectOnce: false
 
   constructor: ->
     @constructor::inner = @getName().startsWith('Inner')


  select: ->
    @countTimes @getCount(), ({stop}) =>
      @stopSelection ?= stop
      @stopSelection() unless @isSuportCount() # quick-fix for #560

      for selection in @editor.getSelections()
        if @selectTextObject(selection)
          @selectSucceeded = true

    @editor.mergeIntersectingSelections()
    # Some TextObject's wise is NOT deterministic. It has to be detected from selected range.

  # Return true or false
  selectTextObject: (selection) ->
    if range = @getRange(selection)
      needToKeepColumn = @needToKeepColumn()
      if needToKeepColumn and not @isMode('visual', 'linewise')
        @vimState.modeManager.activate('visual', 'linewise')
