#[macro_export]
macro_rules! lazy_regex {
($re:expr, $msg:expr $(,)?) => {
std::sync::LazyLock::new(|| regex::Regex::new($re).expect($msg))
};
}
pub mod breaks;
mod classify;
mod classify_kernel;
#[cfg(test)]
mod classify_kernel_tests;
pub mod code_emphasis;
pub mod ellipsis;
pub mod fences;
pub mod footnotes;
pub(crate) mod frontmatter;
pub mod headings;
mod html;
pub mod io;
mod list_interrupt;
pub mod lists;
pub mod process;
mod reflow;
pub mod report;
pub mod table;
pub mod textproc;
pub mod wrap;
#[deprecated(note = "this function is legacy; use `convert_html_tables` instead")]
#[must_use]
pub fn html_table_to_markdown(lines: &[String]) -> Vec<String> {
html::html_table_to_markdown(lines)
}
pub use breaks::{THEMATIC_BREAK_LEN, format_breaks};
pub use code_emphasis::fix_code_emphasis;
pub use ellipsis::replace_ellipsis;
pub use fences::{attach_orphan_specifiers, compress_fences};
pub use footnotes::convert_footnotes;
pub use headings::convert_setext_headings;
pub use html::convert_html_tables;
pub use io::{
LineEnding,
LineEndingCounts,
count_line_endings,
detect_line_ending,
rewrite,
rewrite_no_wrap,
serialize_lines,
};
pub use lists::renumber_lists;
pub use process::{Options, process_stream, process_stream_no_wrap, process_stream_opts};
pub use table::{reflow_table, split_cells};
pub use wrap::{Token, is_fence, tokenize_markdown, wrap_text};