use crate::parser::inlines::sink::InlineSink;
pub(crate) fn copy_green_node(builder: &mut impl InlineSink, node: &rowan::GreenNodeData) {
builder.start_node(node.kind());
copy_green_children(builder, node);
builder.finish_node();
}
pub(crate) fn copy_green_children(builder: &mut impl InlineSink, node: &rowan::GreenNodeData) {
for child in node.children() {
match child {
rowan::NodeOrToken::Node(n) => copy_green_node(builder, n),
rowan::NodeOrToken::Token(t) => builder.token(t.kind(), t.text()),
}
}
}