   removeResult: ({filePath}) =>
     @getResultView(filePath)?.remove()
 
-  renderResults: ({renderAll}={}) ->
-    return unless renderAll or @shouldRenderMoreResults()
+  renderResults: ({renderAll, renderNext}={}) ->
+    return unless renderAll or renderNext or @shouldRenderMoreResults()
+
+    initialIndex = @lastRenderedResultIndex
 
     paths = @model.getPaths()
     for filePath in paths[@lastRenderedResultIndex..]
       result = @model.getResult(filePath)
-      break if not renderAll and not @shouldRenderMoreResults()
+      if not renderAll and not renderNext and not @shouldRenderMoreResults()
+        break
+      else if renderNext is @lastRenderedResultIndex - @lastRenderedResultIndex
+        break
       resultView = new ResultView(@model, filePath, result)
       @append(resultView)
       @lastRenderedResultIndex++

    @prop('scrollHeight') <= @height() + @pixelOverdraw or @prop('scrollHeight') <= @scrollBottom() + @pixelOverdraw

  selectFirstResult: ->
    @find('.selected').removeClass('selected')

    lastView = @find('.search-result:first')
    parentView = lastView.closest('.path')
    if parentView.hasClass('collapsed')
      parentView.addClass('selected')
    else
      lastView.addClass('selected')

    @scrollTop(0)

  selectLastResult: ->
    @find('.selected').removeClass('selected')

    lastView = @find('.search-result:last')
    parentView = lastView.closest('.path')
    if parentView.hasClass('collapsed')
      @scrollTo(parentView.addClass('selected'))
    else
      @scrollTo(lastView.addClass('selected'))

  selectNextResult: ->
    selectedView = @find('.selected').view()

      prevView.addClass('selected')
      @scrollTo(prevView)

  selectResult: (resultView) ->
    @find('.selected').removeClass('selected')

    isPath = resultView.hasClass('path')
    if isPath and not resultView.hasClass('collapsed')
      resultView = resultView.find('.search-result:first')
    else if not isPath
      parentView = resultView.closest('.path')
      resultView = parentView if parentView.hasClass('collapsed')

    resultView.addClass('selected')

  collapseResult: ->
    parent = @find('.selected').closest('.path').view()
    parent.expand(false) if parent instanceof ResultView
