visitAccent method

  1. @override
String visitAccent(
  1. AccentNode node
)
override

Implementation

@override
String visitAccent(AccentNode node) {
  final content = visit(node.content);
  switch (node.accentType) {
    case AccentType.hat:
      return "<mover>$content<mo>^</mo></mover>";
    case AccentType.tilde:
      return "<mover>$content<mo>~</mo></mover>";
    case AccentType.bar:
      return "<mover>$content<mo>¯</mo></mover>";
    case AccentType.dot:
      return "<mover>$content<mo>˙</mo></mover>";
    case AccentType.ddot:
      return "<mover>$content<mo>¨</mo></mover>";
    case AccentType.vec:
      return "<mover>$content<mo>→</mo></mover>";
    case AccentType.overline:
      return "<mover>$content<mo>¯</mo></mover>";
    case AccentType.underline:
      return "<munder>$content<mo>_</mo></munder>";
    case AccentType.overBrace:
      return "<mover>$content<mo>⏞</mo></mover>";
    case AccentType.underBrace:
      return "<munder>$content<mo>⏟</mo></munder>";
    case AccentType.wideHat:
      return "<mover>$content<mo>^</mo></mover>";
    case AccentType.overRightArrow:
      return "<mover>$content<mo>→</mo></mover>";
    case AccentType.overLeftArrow:
      return "<mover>$content<mo>←</mo></mover>";
    case AccentType.cancel:
      return _renderMenclose(content, [Notation.upDiagonalStrike]);
    case AccentType.bCancel:
      return _renderMenclose(content, [Notation.downDiagonalStrike]);
    case AccentType.xCancel:
      return _renderMenclose(content, [
        Notation.upDiagonalStrike,
        Notation.downDiagonalStrike,
      ]);
    case AccentType.dddot:
      return "<mover>$content<mo>\u20DB</mo></mover>";
    case AccentType.grave:
      return "<mover>$content<mo>`</mo></mover>";
    case AccentType.acute:
      return "<mover>$content<mo>´</mo></mover>";
    case AccentType.check:
      return "<mover>$content<mo>ˇ</mo></mover>";
    case AccentType.breve:
      return "<mover>$content<mo>˘</mo></mover>";
    case AccentType.ring:
      return "<mover>$content<mo>˚</mo></mover>";
    case AccentType.overBracket:
      return "<mover>$content<mo>⎴</mo></mover>";
    case AccentType.underBracket:
      return "<munder>$content<mo>⎵</mo></munder>";
    case AccentType.wideCheck:
      return "<mover>$content<mo>ˇ</mo></mover>";
    case AccentType.overLeftRightArrow:
      return "<mover>$content<mo>↔</mo></mover>";
    case AccentType.underLeftArrow:
      return "<munder>$content<mo>←</mo></munder>";
    case AccentType.underRightArrow:
      return "<munder>$content<mo>→</mo></munder>";
    case AccentType.overParen:
      return "<mover>$content<mo>⏜</mo></mover>";
    case AccentType.underParen:
      return "<munder>$content<mo>⏝</mo></munder>";
  }
}