public Node Visit(Node node) { return(node switch { TextNode text => VisitText(text), StyleNode style => VisitStyle(style), NewlineNode nl => VisitNewline(nl), CodeNode code => VisitCode(code), LinkNode link => VisitLink(link), MentionNode mention => VisitMention(mention), ChannelNode channel => VisitChannel(channel), RoleNode role => VisitRole(role), CustomEmojiNode emoji => VisitCustomEmoji(emoji), ContainerNode container => VisitContainer(container), _ => throw new ArgumentException($"Unknown node type: {node.GetType()}."), });
public override Node VisitChannel(ChannelNode channel) { _builder.Append($"<span class=\"d-mention d-channel\">#{channel.Id}</span>"); return(channel); }