   # non-whitespace characters, and otherwise inserts a tab. If the selection is
   # non empty, calls {::indentSelectedRows}.
   #
-  # options - A {Object} with the keys:
-  #   :autoIndent - If `true`, the line is indented to an automatically-inferred
-  #                 level. Otherwise, {Editor::getTabText} is inserted.
+  # * `options` (optional) {Object} with the keys:
+  #   * `autoIndent` If `true`, the line is indented to an automatically-inferred
+  #     level. Otherwise, {Editor::getTabText} is inserted.
   indent: ({ autoIndent }={}) ->
     { row, column } = @cursor.getBufferPosition()
 


  # Public: Replaces text at the current selection.
  #
  # text - A {String} representing the text to add
  # options - An {Object} with keys:
  #   :select - if `true`, selects the newly added text.
  #   :autoIndent - if `true`, indents all inserted text appropriately.
  #   :autoIndentNewline - if `true`, indent newline appropriately.
  #   :autoDecreaseIndent - if `true`, decreases indent level appropriately
  #                         (for example, when a closing bracket is inserted).
  #   :undo - if `skip`, skips the undo stack for this operation.
  insertText: (text, options={}) ->
    oldBufferRange = @getBufferRange()
    @editor.unfoldBufferRow(oldBufferRange.end.row)


  # Public: Identifies if a selection intersects with another selection.
  #
  # * `otherSelection` A {Selection} to check against.
  #
  # Returns a {Boolean}
  intersectsWith: (otherSelection) ->
    @getBufferRange().intersectsWith(otherSelection.getBufferRange())

  # Public: Combines the given selection into this selection and then destroys
  # the given selection.
  #
  # * `otherSelection` A {Selection} to merge with.
  # * `options` (optional) {Object} options matching those found in {::setBufferRange}.
  merge: (otherSelection, options) ->
    myGoalBufferRange = @getGoalBufferRange()
    otherGoalBufferRange = otherSelection.getGoalBufferRange()
