 class CreateRangeMarker extends Operator
   @extend()
   flashTarget: false
+  stayAtSamePosition: true
 
   mutateSelection: (selection) ->
-    @vimState.addRangeMarkersForRanges([selection.getBufferRange()])
+    @vimState.addRangeMarkersForRanges(selection.getBufferRange())
     @restorePoint(selection)
 
 class ToggleRangeMarker extends CreateRangeMarker

      @forceWise = wise

  # @target - TextObject or Motion to operate on.
  setTarget: (@target) ->
    unless _.isFunction(@target.select)
      @vimState.emitter.emit('did-fail-to-set-target')
      throw new OperatorError("#{@getName()} cannot set #{@target.getName()} as target")
    @target.setOperator(this)
    @overrideTargetWise(@forceWise) if @hasForceWise()
    @emitDidSetTarget(this)
    this

  overrideTargetWise: (wise) ->
    switch wise
      when 'characterwise'
        if @target.linewise
          @target.linewise = false
          @target.inclusive = false
        else
          @target.inclusive = not @target.inclusive
      when 'linewise'
        @target.linewise = true

  isWithOccurrence: ->
    @withOccurrence

    @forceWise?

  # Return true unless all selection is empty.
  selectTarget: ->
    @observeSelectAction()
    @emitWillSelectTarget()
