textlane_core/models/
tree.rs1use crate::models::{hast, mdast, nlcst};
2
3#[derive(Debug, PartialEq)]
5pub enum Tree<'a> {
6 Mdast(mdast::Node<'a>),
7 Hast(hast::Node<'a>),
8 Nlcst(nlcst::Node<'a>),
9}
10
11#[derive(Clone, Copy, Debug, PartialEq, Eq)]
13pub enum TreeKind {
14 Mdast,
15 Hast,
16 Nlcst,
17}
18
19impl Tree<'_> {
20 pub fn kind(&self) -> TreeKind {
21 match self {
22 Tree::Mdast(_) => TreeKind::Mdast,
23 Tree::Hast(_) => TreeKind::Hast,
24 Tree::Nlcst(_) => TreeKind::Nlcst,
25 }
26 }
27}