scheme-edit 0.1.0

Lossless Scheme S-expression parser and editor (toml_edit-style CST)
Documentation
//! Lossless Scheme S-expression parser and editor (toml_edit-style CST).
//!
//! Every byte of the source (whitespace, comments, escapes) is stored in the
//! tree, so `parse(s).to_string() == s` holds by construction; edits splice
//! in new nodes while untouched regions survive verbatim.
//!
//! ```
//! use scheme_edit::Document;
//! let src = "; header\n(list (a 1)\t(b 2))\n";
//! let doc = Document::parse(src).unwrap();
//! assert_eq!(doc.to_string(), src);
//! ```

mod build;
mod cst;
mod document;
mod edit;
mod lexer;
mod parser;
mod pretty;

pub use build::{atom, escape_string, list, quoted_sym, string_lit, sym};
pub use cst::{Item, ListKind, Node};
pub use document::Document;
pub use lexer::ParseError;
pub use pretty::pretty;