       @editSession.addSelectionForBufferRange(range, goalBufferRange: range)
       break
 
+  # Public:
+  #
+  # FIXME: I have no idea what this does.
   getGoalBufferRange: ->
     @marker.getAttributes().goalBufferRange
 
-  # Moves the selection up one row.
+  # Public: Moves the selection up one row.
   addSelectionAbove: ->
     range = (@getGoalBufferRange() ? @getBufferRange()).copy()
     previousRow = range.end.row - 1

      @cursor.needsAutoscroll = false if options.autoscroll?
      @marker.setBufferRange(bufferRange, options)

  # Retrieves the starting and ending buffer rows the selection is highlighting.
  #
  # Returns an {Array} of two {Number}s: the starting row, and the ending row.
  getBufferRowRange: ->

    @wordwise = false
    @initialScreenRange = @getScreenRange()

  # Public:
  #
  # FIXME: I have no idea what this does.
  expandOverLine: ->
    range = @getBufferRange().union(@cursor.getCurrentLineBufferRange(includeNewline: true))
    @setBufferRange(range)

  # Public: Selects the text from the current cursor position to a given screen
  # position.
  #
  # * position:
  #   An instance of {Point}, with a given `row` and `column`.
  selectToScreenPosition: (position) ->
    @modifySelection =>
      if @initialScreenRange
