Skip to main content

slipql/
lib.rs

1//! <!-- This crate's documentation is its README, so the two cannot disagree.
2//! The examples below are compiled and run by `cargo test` wherever they
3//! render: on docs.rs, on crates.io, and in the repository. -->
4#![doc = include_str!("../README.md")]
5//
6// Author: David M. Anderson
7// Built with AI assistance (Claude, Anthropic)
8#![forbid(unsafe_code)]
9#![warn(missing_docs, clippy::pedantic)]
10#![allow(clippy::missing_errors_doc, clippy::module_name_repetitions)]
11
12pub mod ast;
13mod error;
14mod eval;
15mod exec;
16mod lexer;
17mod notice;
18mod parser;
19pub mod render;
20mod scan;
21mod value;
22
23pub use error::{Error, Result};
24pub use exec::{execute, execute_with, Cell, Options, Results, Row};
25pub use notice::{Skipped, Tally};
26pub use parser::{parse, parse_with};
27pub use value::{Kind, Value};
28
29/// The container library this crate reads through, re-exported.
30///
31/// [`Limits`](slpc::Limits) appears in [`Options`], and the TOML types under
32/// [`slpc::toml_edit`] appear in [`Value`], so a caller needs the same
33/// version of both.
34pub use slpc;