#![doc = include_str!("../README.md")]
#![no_std]
#![deny(missing_docs)]
extern crate alloc;
mod compare;
mod decode;
mod entities;
mod gemoji;
mod leaves;
mod memo;
#[cfg(test)]
mod test_support;
mod unicode_cjk;
mod unicode_letters;
mod unicode_punctuation;
pub mod ast;
pub mod diagnostic;
#[cfg(feature = "html")]
pub mod html;
pub mod parse;
pub mod serialize;
pub mod span;
pub mod validate;
pub use ast::*;
pub use diagnostic::{Diagnostic, DiagnosticCode, DiagnosticSeverity};
#[cfg(feature = "html")]
pub use html::{HtmlError, HtmlOptions, SafeRawHtmlForm, TasklistAttrOrder};
pub use parse::{
parse, parse_inline, Definitions, InlineOutput, InlineSource, InlineToken, ParseOutput,
TokenRole,
};
pub use serialize::{BulletMarker, LineEnding, OrderedDelimiter, SerializeError, SerializeOptions};
pub use span::{LineIndex, LinePosition, Span};
#[doc(hidden)]
pub mod __private {
pub use crate::compare::normalized_blocks;
pub use crate::parse::inline_spans_to_source;
pub fn rewritten_blocks(document: &crate::Document) -> usize {
document
.write(&crate::SerializeOptions::default())
.map_or(0, |(_, rewritten)| rewritten)
}
}
pub mod prelude {
pub use crate::ast::*;
pub use crate::diagnostic::{Diagnostic, DiagnosticCode, DiagnosticSeverity};
#[cfg(feature = "html")]
pub use crate::html::{HtmlError, HtmlOptions, SafeRawHtmlForm, TasklistAttrOrder};
pub use crate::parse::{
parse, parse_inline, Definitions, InlineOutput, InlineSource, InlineToken, ParseOutput,
TokenRole,
};
pub use crate::serialize::{
BulletMarker, LineEnding, OrderedDelimiter, SerializeError, SerializeOptions,
};
pub use crate::span::{LineIndex, LinePosition, Span};
}