hcl_edit/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_auto_cfg))]
3#![warn(missing_docs)]
4#![warn(clippy::pedantic)]
5#![allow(
6    clippy::bool_to_int_with_if,
7    clippy::let_underscore_untyped,
8    clippy::module_name_repetitions,
9    clippy::must_use_candidate,
10    clippy::naive_bytecount,
11    clippy::needless_lifetimes,
12    clippy::return_self_not_must_use
13)]
14
15extern crate alloc;
16
17#[macro_use]
18mod macros;
19
20mod encode;
21pub mod expr;
22pub mod parser;
23mod raw_string;
24#[doc(hidden)]
25pub mod repr;
26pub mod structure;
27pub mod template;
28mod util;
29pub mod visit;
30pub mod visit_mut;
31
32pub use self::raw_string::RawString;
33use self::repr::SetSpan;
34pub use self::repr::{Decor, Decorate, Decorated, Formatted, Span, Spanned};
35
36// Re-exported for convenience.
37#[doc(inline)]
38pub use hcl_primitives::{Ident, Number};
39
40/// Core concepts available for glob import.
41///
42/// This includes useful traits like [`Decorate`] and [`Span`].
43///
44/// # Example
45///
46/// ```
47/// use hcl_edit::expr::Expression;
48/// use hcl_edit::prelude::*;
49///
50/// let mut expr = Expression::from("A string");
51/// expr.decor_mut().set_suffix(" // Comment.");
52/// assert_eq!(expr.to_string(), r#""A string" // Comment."#);
53/// ```
54pub mod prelude {
55    pub use crate::{Decorate, Span};
56}