1//! A generic library for lossless syntax trees.
2//! See `examples/s_expressions.rs` for a tutorial.
3#![forbid(
4 // missing_debug_implementations,
5 unconditional_recursion,
6 future_incompatible,
7 // missing_docs,
8)]
9#![deny(unsafe_code)]
10
11#[allow(unsafe_code)]
12mod green;
13#[allow(unsafe_code)]
14pub mod cursor;
15
16pub mod api;
17mod syntax_text;
18mod utility_types;
19
20mod cow_mut;
21#[allow(unsafe_code)]
22mod sll;
23#[allow(unsafe_code)]
24mod arc;
25#[cfg(feature = "serde1")]
26mod serde_impls;
27pub mod ast;
28
29pub use text_size::{TextLen, TextRange, TextSize};
30
31pub use crate::{
32 api::{
33 Language, SyntaxElement, SyntaxElementChildren, SyntaxNode, SyntaxNodeChildren, SyntaxToken,
34 },
35 green::{
36 Checkpoint, Children, GreenNode, GreenNodeBuilder, GreenNodeData, GreenToken,
37 GreenTokenData, NodeCache, SyntaxKind,
38 },
39 syntax_text::SyntaxText,
40 utility_types::{Direction, NodeOrToken, TokenAtOffset, WalkEvent},
41};
42