Skip to main content

eure_tree/
lib.rs

1use std::convert::Infallible;
2
3use node_kind::{NonTerminalKind, TerminalKind};
4use tree::{ConcreteSyntaxTree, ViewConstructionError};
5
6pub mod action;
7pub mod builder;
8pub mod constructors;
9#[allow(clippy::uninlined_format_args)]
10pub mod node_kind;
11pub mod nodes;
12pub mod tree;
13pub mod visitor;
14
15pub type Cst = ConcreteSyntaxTree<TerminalKind, NonTerminalKind>;
16pub type CstNode = tree::CstNodeData<TerminalKind, NonTerminalKind>;
17pub type CstConstructError<E = Infallible> =
18    ViewConstructionError<TerminalKind, NonTerminalKind, E>;
19pub type NodeKind = node_kind::NodeKind<TerminalKind, NonTerminalKind>;
20
21pub mod prelude {
22    pub use crate::action::CstCommands;
23    pub use crate::node_kind::{NonTerminalKind, TerminalKind};
24    pub use crate::nodes::*;
25    pub use crate::tree::{
26        CharInfo, CstFacade, CstNodeId, DynamicTokenId, InputSpan, LineNumbers, NonTerminalData,
27        NonTerminalHandle as _, TerminalData, TerminalHandle as _,
28    };
29    pub use crate::visitor::{CstVisitor, CstVisitorSuper as _};
30    pub use crate::{Cst, CstConstructError, CstNode, NodeKind};
31}