Something went wrong. Try again.
Markdown parser fork with extended syntax for personal use.
Something went wrong. Try again.
1.2 kB · 49 lines
Rust
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950//! Non-lazy continuation.//!//! This is a tiny helper that [flow][] constructs can use to make sure that//! the following line is not lazy.//! For example, [html (flow)][html_flow] and ([raw (flow)][raw_flow],//! [indented][code_indented]), stop when the next line is lazy.//!//! [flow]: crate::construct::flow//! [raw_flow]: crate::construct::raw_flow//! [code_indented]: crate::construct::code_indented//! [html_flow]: crate::construct::html_flow
use crate::event::Name;use crate::state::{Name as StateName, State};use crate::tokenizer::Tokenizer;
/// At eol, before continuation.////// ```markdown/// > | * ```js/// ^/// | b/// ```pub fn start(tokenizer: &mut Tokenizer) -> State { match tokenizer.current { Some(b'\n') => { tokenizer.enter(Name::LineEnding); tokenizer.consume(); tokenizer.exit(Name::LineEnding); State::Next(StateName::NonLazyContinuationAfter) } _ => State::Nok, }}
/// A continuation.////// ```markdown/// | * ```js/// > | b/// ^/// ```pub fn after(tokenizer: &mut Tokenizer) -> State { if tokenizer.lazy { State::Nok } else { State::Ok }}