     cur = @editor.getCursorBufferPosition()
     matchPoints = []
     iterator = (item) =>
-      matchPoints.push(item.range.start)
+      matchPointItem =
+        range: item.range
+      matchPoints.push(matchPointItem)
 
     @editor.scan(regexp, iterator)
 
     previous = _.filter matchPoints, (point) =>
       if @reverse
-        point.compare(cur) < 0
-      else
-        point.compare(cur) <= 0
+        point.range.start.compare(cur) < 0
+      else
+        point.range.start.compare(cur) <= 0
 
     after = _.difference(matchPoints, previous)
     after.push(previous...)

  execute: (count=1) ->
    @scan()
    @match count, (pos) =>
      @editor.setCursorBufferPosition(pos)

  select: (count=1) ->
    @scan()
    cur = @editor.getCursorBufferPosition()
    @match count, (pos) =>
      @editor.setSelectedBufferRange([cur, pos])
    [true]

  match: (count, callback) ->

      @reverse=false
    else
      @character = ''

    @character

  getCurrentWordMatch: ->
