   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
 

  wise: 'linewise'

  getRange: (selection) ->
    row = @getNormalizedHeadBufferPosition(selection).row
    rowRange = @editor.languageMode.rowRangeForCommentAtBufferRow(row)
    rowRange ?= [row, row] if @editor.isBufferRowCommented(row)
    if rowRange?

  @deriveInnerAndA()

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