eure_document/
lib.rs

1#![no_std]
2extern crate alloc;
3
4#[cfg(feature = "std")]
5extern crate std;
6
7// Re-export commonly used types for eure! macro users
8pub use text::Text;
9
10/// A data structure for representing a Eure document without any span information.
11pub mod tree;
12
13/// Identifier type and parser.
14pub mod identifier;
15
16/// Unified text type for strings and code.
17pub mod text;
18
19/// A type-safe data-type of Eure data-model.
20pub mod value;
21
22/// A data structure for representing a Eure document including extensions.
23pub mod document;
24
25/// Data structure for representing a path in a Eure document.
26pub mod path;
27
28/// Data structure for representing a data-model of Eure.
29pub mod data_model;
30
31/// Trait for parsing Rust types from Eure documents.
32pub mod parse;
33
34/// Trait for writing Rust types to Eure documents.
35pub mod write;
36
37/// Source-level document representation with layout metadata.
38///
39/// Used for programmatic construction of Eure documents with preserved
40/// formatting information (comments, section ordering, etc.).
41pub mod source;
42
43/// Macro for building Eure documents.
44mod eure_macro;
45
46pub mod map;
47
48pub(crate) mod prelude_internal {
49    #![allow(unused_imports)]
50    #![allow(deprecated)]
51    pub use crate::data_model::*;
52    pub use crate::document::constructor::DocumentConstructor;
53    pub use crate::document::node::{Node, NodeMap, NodeMut, NodeValue};
54    pub use crate::document::{EureDocument, InsertError, InsertErrorKind, NodeId};
55    pub use crate::eure;
56    pub use crate::identifier::Identifier;
57    pub use crate::map::Map;
58    pub use crate::path::{EurePath, PathSegment};
59    pub use crate::text::{Language, SyntaxHint, Text, TextParseError};
60    pub use crate::value::{ObjectKey, PrimitiveValue};
61    pub use alloc::boxed::Box;
62    pub use alloc::{string::String, string::ToString, vec, vec::Vec};
63    pub use thisisplural::Plural;
64}