   complete: true
   recordable: false
 
-  constructor: (@vimState) ->
+  constructor: (@vimState, @options={}) ->
     {@editor, @editorElement} = @vimState
 
   select: (options) ->

class RepeatSearch extends SearchBase
  @extend()
  complete: true

  constructor: (@vimState) ->
    super(@vimState, dontUpdateCurrentSearch: true)
    @input = new Input(@vimState.getSearchHistoryItem(0) ? "")
    @replicateCurrentSearch()


      @vimState.setMark('`', cursor.getBufferPosition())

    cursor.setBufferPosition(markPosition) if markPosition?
    if @operatesLinewise
      cursor.moveToFirstCharacterOfLine()

# keymap: `
class MoveToMarkLiteral extends MoveToMark
  @extend()
  operatesLinewise: false

# Search
# -------------------------
class SearchBase extends MotionWithInput
  @extend()
  operatesInclusively: false
  dontUpdateCurrentSearch: false

  constructor: ->
    super
    @reverse = @initiallyReversed = false
    @updateCurrentSearch() unless @dontUpdateCurrentSearch

  reversed: =>
    @initiallyReversed = @reverse = true
