   isBlockwise: ->
     @wise is 'blockwise'
 
-  getNormalizedHeadBufferPosition: (selection) ->
-    point = selection.getHeadBufferPosition()
-    if @isMode('visual') and not selection.isReversed()
-      translatePointAndClip(@editor, point, 'backward')
-    else
-      point
-
   resetState: ->
     @selectSucceeded = null
 

  @deriveInnerAndA()

  getRange: (selection) ->
    point = @getNormalizedHeadBufferPosition(selection)
    {range} = @getWordBufferRangeAndKindAtBufferPosition(point, {@wordRegex})
    if @isA()
      expandRangeToWhiteSpaces(@editor, range)

  @deriveInnerAndA()

  getRange: (selection) ->
    fromRow = swrap(selection).getRowFor('head')
    # fromRow = @getCursorPositionForSelection(selection).row

    baseIndentLevel = @getIndentLevelForBufferRow(fromRow)
    predict = (row) =>
