     @wordwise = false
     @initialScreenRange = @getScreenRange()
 
+  # Public:
+  #
+  # FIXME: I have no idea what this does.
   expandOverLine: ->
     range = @getBufferRange().union(@cursor.getCurrentLineBufferRange(includeNewline: true))
     @setBufferRange(range)
 
-  # Selects the text from the current cursor position to a given screen position.
-  #
-  # position - An instance of {Point}, with a given `row` and `column`.
+  # 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


    normalizedLines.join('\n')

  # Indents the selection.
  #
  # options - A hash with one key, `autoIndent`. If `true`, the indentation is
  #           performed appropriately. Otherwise, {EditSession.getTabText} is used
  indent: ({ autoIndent }={})->
    { row, column } = @cursor.getBufferPosition()


    end = Math.max(start, end - 1) if range.end.column == 0
    [start, end]

  # Public: Returns the text in the selection.
  getText: ->
    @editSession.buffer.getTextInRange(@getBufferRange())

  # Public: Clears the selection, moving the marker to the head.
  clear: ->
    @marker.setAttributes(goalBufferRange: null)
    @marker.clearTail() unless @retainSelection

  # Public: Modifies the selection to encompass the current word.
  #
  # Returns a {Range}.
  selectWord: ->
