haystack_core/xeto/
mod.rs1pub mod ast;
4pub mod bundled;
5pub mod export;
6pub mod fitting;
7pub mod lexer;
8pub mod loader;
9pub mod parser;
10pub mod resolver;
11pub mod spec;
12
13pub use ast::{LibPragma, SlotDef, SpecDef, XetoFile};
14pub use fitting::{EntityResolver, fits, fits_explain};
15pub use lexer::{Token, TokenType, XetoLexer};
16pub use loader::load_xeto_with_deps;
17pub use parser::parse_xeto;
18pub use resolver::XetoResolver;
19pub use spec::{Slot, Spec};
20
21#[derive(Debug, thiserror::Error)]
23pub enum XetoError {
24 #[error("parse error at line {line}, col {col}: {message}")]
26 Parse {
27 line: usize,
28 col: usize,
29 message: String,
30 },
31 #[error("resolve error: {0}")]
33 Resolve(String),
34 #[error("load error: {0}")]
36 Load(String),
37}