rst_parser/
lib.rs
1#![warn(clippy::pedantic)]
2
3mod conversion;
4mod pair_ext_parse;
5mod pest_rst;
6#[cfg(test)]
7pub mod tests;
8pub mod token;
9pub mod transforms;
10
11use anyhow::Error;
12use pest::Parser;
13
14use document_tree::Document;
15
16use self::conversion::convert_document;
17use self::pest_rst::{RstParser, Rule};
18use self::transforms::standard_transform;
19
20pub fn parse_only(source: &str) -> Result<Document, Error> {
25 let pairs = RstParser::parse(Rule::document, source)?;
26 convert_document(pairs)
27}
28
29pub fn parse(source: &str) -> Result<Document, Error> {
34 parse_only(source).map(standard_transform)
35}