Skip to main content

oneyaml_core/
lib.rs

1//! Stable vocabulary types for [oneyaml](https://docs.rs/oneyaml): spans,
2//! diagnostic codes, diagnostics, line indexes, paths, input encodings, and
3//! settings.
4//!
5//! This crate has no runtime dependencies and no behaviour beyond trivial
6//! constructors and accessors. `oneyaml` re-exports everything here, so
7//! most users depend on `oneyaml` alone. The resource-limit profiles,
8//! including [`Limits::untrusted()`] for input from the network, are
9//! documented on [`Limits`]; YAML 1.1 behaviours such as merge keys are
10//! opt-in [`Settings`].
11#![forbid(unsafe_code)]
12#![warn(missing_docs)]
13
14pub mod code;
15mod diagnostic;
16mod emit;
17mod encoding;
18mod limits;
19mod line_index;
20mod path;
21mod settings;
22mod span;
23
24pub use code::{Code, CodeRange};
25pub use diagnostic::{Applicability, Diagnostic, Label, Replacement, Severity, Suggestion};
26pub use emit::{Emit, Layout, QuoteStyle};
27pub use encoding::Encoding;
28pub use limits::Limits;
29pub use line_index::{ColumnUnit, LineCol, LineIndex};
30#[doc(hidden)]
31pub use path::__private;
32pub use path::{ParsePathError, Path, PathSegment};
33pub use settings::{Compat, DuplicateKeys, Schema, Settings};
34pub use span::Span;