mdtablefix 0.6.1

`mdtablefix` unb0rks and reflows Markdown tables so that each column has a uniform width. When the `--wrap` option is used, it also wraps paragraphs and list items to 80 columns.
Documentation
//! Library for normalizing Markdown tables and wrapping text.
//!
//! Modules:
//! - `html` for converting HTML tables.
//! - `table` for standardizing Markdown table alignment.
//! - `wrap` for paragraph wrapping.
//! - `lists` for renumbering ordered lists.
//! - `breaks` for thematizing horizontal rules.
//! - `ellipsis` for replacing textual ellipses.
//! - `fences` for issues with code block fences
//! - `footnotes` for converting bare footnote links.
//! - `headings` for standardizing Setext headings.
//! - `code_emphasis` for fixing emphasis adjoining inline code.
//! - `textproc` for token-based transformations.
//! - `process` for stream processing.
//! - `report` for line-delta reporting.
//! - `io` for file helpers, the document boundary, and line-ending preservation.

#[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};