rotext_core 0.2.0

The core (no_std) part of the official and de facto Rotext parser.
Documentation
#![cfg_attr(not(test), no_std)]
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
#![feature(proc_macro_hygiene)]
#![feature(stmt_expr_attributes)]

mod blend;
mod block;
mod common;
pub mod events;
mod inline;
mod types;

mod internal_utils;

pub use events::{Event, EventType};
pub use types::{BlockId, Error, LineNumber, Result, Stack};

pub use block::StackEntry as BlockStackEntry;
pub use inline::StackEntry as InlineStackEntry;

pub use block::Parser as BlockParser;

pub use blend::BlockEventStreamInlineSegmentMapper;

pub fn parse<TBlockStack: Stack<BlockStackEntry>, TInlineStack: Stack<InlineStackEntry>>(
    input: &[u8],
) -> blend::BlockEventStreamInlineSegmentMapper<block::Parser<TBlockStack>, TInlineStack> {
    let block_parser = block::Parser::new(input);

    blend::BlockEventStreamInlineSegmentMapper::new(input, block_parser)
}