#[path = "edge_label.generated.rs"]
mod edge_label;
#[path = "lexical_context.generated.rs"]
mod lexical_context;
#[path = "nonterminal_kind.generated.rs"]
mod nonterminal_kind;
#[path = "rewriter.generated.rs"]
mod rewriter;
#[path = "terminal_kind.generated.rs"]
mod terminal_kind;
pub use edge_label::EdgeLabel;
pub(crate) use lexical_context::{IsLexicalContext, LexicalContext, LexicalContextType};
pub use metaslang_cst::kinds::TerminalKindExtensions;
pub(crate) use metaslang_cst::kinds::{EdgeLabelExtensions, NonterminalKindExtensions};
pub use nonterminal_kind::NonterminalKind;
pub use rewriter::BaseRewriter;
pub use terminal_kind::TerminalKind;
#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize)]
pub struct KindTypes {
}
impl metaslang_cst::kinds::KindTypes for KindTypes {
type NonterminalKind = NonterminalKind;
type TerminalKind = TerminalKind;
type EdgeLabel = EdgeLabel;
}
pub type NodeKind = metaslang_cst::kinds::NodeKind<KindTypes>;
pub use metaslang_cst::nodes::NodeId;
pub type Node = metaslang_cst::nodes::Node<KindTypes>;
pub type NonterminalNode = metaslang_cst::nodes::NonterminalNode<KindTypes>;
pub type TerminalNode = metaslang_cst::nodes::TerminalNode<KindTypes>;
pub type Edge = metaslang_cst::nodes::Edge<KindTypes>;
pub type Cursor = metaslang_cst::cursor::Cursor<KindTypes>;
pub type CursorIterator = metaslang_cst::cursor::CursorIterator<KindTypes>;
pub type AncestorsIterator = metaslang_cst::cursor::AncestorsIterator<KindTypes>;
pub type Query = metaslang_cst::query::Query<KindTypes>;
pub type Capture<'a> = metaslang_cst::query::Capture<'a, KindTypes>;
pub use metaslang_cst::query::QueryError;
pub type QueryMatch = metaslang_cst::query::QueryMatch<KindTypes>;
pub type QueryMatchIterator = metaslang_cst::query::QueryMatchIterator<KindTypes>;
pub type TextIndex = metaslang_cst::text_index::TextIndex;
pub type TextRange = metaslang_cst::text_index::TextRange;
pub use metaslang_cst::text_index::TextRangeExtensions;