 
   getPairInfo: (from) ->
     super(@getTagStartPoint(from) ? from)
-class ATag extends Tag
-  @extend()
-class InnerTag extends Tag
-  @extend()
 
 # Section: Paragraph
 # =========================
 # Paragraph is defined as consecutive (non-)blank-line.
 class Paragraph extends TextObject
   @extend(false)
+  @derivesInnerAndA()
   wise: 'linewise'
   supportCount: true
 

  getRange: (selection) ->
    ranges = @getRanges(selection)
    _.last(sortRanges(ranges)) if ranges.length
class AAnyPair extends AnyPair
  @extend()
class InnerAnyPair extends AnyPair
  @extend()

class AnyPairAllowForwarding extends AnyPair
  @extend(false)
  @description: "Range surrounded by auto-detected paired chars from enclosed and forwarding area"
  allowForwarding: true
  searchFrom: 'start'


class DoubleQuote extends Quote
  @extend(false)
  @derivesInnerAndA()
  pair: ['"', '"']

class SingleQuote extends Quote
  @extend(false)
  @derivesInnerAndA()
  pair: ["'", "'"]

class BackTick extends Quote
  @extend(false)
  @derivesInnerAndA()
  pair: ['`', '`']

class CurlyBracket extends Pair
  @extend(false)
  @derivesInnerAndA()
  @derivesInnerAndAForAllowForwarding()
  pair: ['{', '}']

class SquareBracket extends Pair
  @extend(false)
  @derivesInnerAndA()
  @derivesInnerAndAForAllowForwarding()
  pair: ['[', ']']

class Parenthesis extends Pair
  @extend(false)
  @derivesInnerAndA()
  @derivesInnerAndAForAllowForwarding()
  pair: ['(', ')']

class AngleBracket extends Pair
  @extend(false)
  @derivesInnerAndA()
  @derivesInnerAndAForAllowForwarding()
  pair: ['<', '>']

class Tag extends Pair
  @extend(false)
  @derivesInnerAndA()
  allowNextLine: true
  allowForwarding: true
  adjustInnerRange: false
