 
 class InnerTag extends Tag
   @extend()
+
 # Paragraph
 # -------------------------
 # In Vim world Paragraph is defined as consecutive (non-)blank-line.

      when 'inner' then [[0, +openLength], [0, -closeLength]]
    range.translate(translation...)

  getPairRange: (from, pair, enclosed) ->
    range = null
    close = @findClose pair, {from: from, enclosed}
    open = @findOpen pair, {from: close} if close?

    if open? and close?
      range = new Range(open, close)
      # range returned by @findOpen, @findClose is inclusive(=a) range.
      range = @translateRange(range, pair, 'inner') if @isInner()
    range

  getRange: (selection, {enclosed}={}) ->
    originalRange = selection.getBufferRange()


      if (pairState is which) and (state.open.length is 0) and (state.close.length is 0)
        if enclosed and tmpFrom?
          # [FIXME] really need? better way?
          # When checking enclosed state, we have to be exclude for end of Range.
          tmpRange = new Range(tmpFrom, point).translate([0, 0], [0, -1])
          unless tmpRange.containsPoint(from)
            return
        found = range
        # @report {was: "fnd", which, pair, state, pairState, matchText}
        return stop()
      # @report {was: "cnt", which, pair, state, pairState, matchText}
