1#![no_std]
4#![forbid(
5 unconditional_recursion,
7 future_incompatible,
8 )]
10#![deny(unsafe_code)]
11
12extern crate alloc;
13#[cfg(test)]
14extern crate std;
15
16#[allow(unsafe_code)]
17mod green;
18#[allow(unsafe_code)]
19pub mod cursor;
20
21pub mod api;
22mod countme;
23mod syntax_text;
24mod text_size;
25mod utility_types;
26
27mod cow_mut;
28#[allow(unsafe_code)]
29mod sll;
30#[allow(unsafe_code)]
31mod arc;
32#[cfg(feature = "serde")]
33mod serde_impls;
34pub mod ast;
35
36pub use crate::text_size::{TextLen, TextRange, TextSize};
37
38pub use crate::{
39 api::{
40 Language, SyntaxElement, SyntaxElementChildren, SyntaxNode, SyntaxNodeChildren, SyntaxToken,
41 },
42 green::{
43 Checkpoint, Children, GreenNode, GreenNodeBuilder, GreenNodeData, GreenToken,
44 GreenTokenData, NodeCache, SyntaxKind,
45 },
46 syntax_text::SyntaxText,
47 utility_types::{Direction, NodeOrToken, TokenAtOffset, WalkEvent},
48};