panache_parser/lib.rs
1//! `panache-parser` is a lossless Concrete Syntax Tree (CST) parser for Pandoc
2//! Markdown, Quarto, and R Markdown documents.
3//!
4//! It preserves source structure and trivia (including markers and whitespace),
5//! making it suitable for editor tooling and formatting pipelines that require
6//! deterministic round-tripping.
7//!
8//! # Quick start
9//!
10//! ```rust
11//! use panache_parser::parse;
12//!
13//! let tree = parse("# Heading\n\nParagraph text.", None);
14//! println!("{:#?}", tree);
15//! ```
16//!
17//! # Main entry points
18//!
19//! - [`parse`]: Parse input text into a [`SyntaxNode`].
20//! - [`ParserOptions`]: Parser configuration and extension toggles.
21//! - [`syntax`]: Typed syntax wrappers and syntax kinds.
22//! - [`parser`]: Lower-level parser modules and incremental helpers.
23//!
24mod options;
25pub mod parser;
26pub mod range_utils;
27pub mod syntax;
28
29pub use options::Extensions;
30pub use options::Flavor;
31pub use options::PandocCompat;
32pub use options::ParserOptions;
33pub use parser::parse;
34pub use syntax::SyntaxNode;