 
 class PersistentSelection extends TextObject
   @extend(false)
+  @derivesInnerAndA()
   wise: null
   selectOnce: true
 

    if @isA() and @editor.getGrammar().scopeName in @scopeNamesOmittingEndRow
      endRow += 1
    [startRow, endRow]
class AFunction extends Function
  @extend()
class InnerFunction extends Function
  @extend()

# Section: Other
# =========================
class CurrentLine extends TextObject
  @extend(false)
  getRange: (selection) ->
    row = @getNormalizedHeadBufferPosition(selection).row
    range = @editor.bufferRangeForBufferRow(row)


class LatestChange extends TextObject
  @extend(false)
  @derivesInnerAndA()
  wise: null
  selectOnce: true
  getRange: ->
    @vimState.mark.getRange('[', ']')

class SearchMatchForward extends TextObject
  @extend()
