diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-02-03 21:30:36 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-02-03 21:34:49 +0100 |
| commit | d86a5e8a1f469dd79abf3137dba77a71fae2a774 (patch) | |
| tree | fc7ab35d999322b9d124e41ab80948df23965d26 /src/parse/mod.rs | |
| parent | 6fcef9973be4253e5b377251dd9d1921f9738fc1 (diff) | |
Tidy up raw blocks 🧹
- Better trimming (only trim at the end if necessary)
- Fixed block-level layouting
- Improved pretty printing
- Flip inline variable to block
- Flip inline variable to display for math formulas
Diffstat (limited to 'src/parse/mod.rs')
| -rw-r--r-- | src/parse/mod.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs index 3fc7d483..3fd2cca5 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -59,14 +59,14 @@ fn node(p: &mut Parser, at_start: &mut bool) -> Option<Node> { Token::Underscore => Node::Emph, Token::Eq => { if *at_start { - return Some(Node::Heading(heading(p))); + return Some(heading(p)); } else { - Node::Text(p.get(p.peek_span()).into()) + Node::Text(p.peek_src().into()) } } Token::Tilde => Node::Text("\u{00A0}".into()), Token::Backslash => Node::Linebreak, - Token::Raw(t) => Node::Raw(raw(p, t)), + Token::Raw(t) => raw(p, t), Token::UnicodeEscape(t) => Node::Text(unicode_escape(p, t)), // Keywords. @@ -122,7 +122,7 @@ fn node(p: &mut Parser, at_start: &mut bool) -> Option<Node> { } /// Parse a heading. -fn heading(p: &mut Parser) -> NodeHeading { +fn heading(p: &mut Parser) -> Node { // Count depth. let mut level = p.span(|p| { p.assert(&[Token::Eq]); @@ -147,16 +147,16 @@ fn heading(p: &mut Parser) -> NodeHeading { } } - NodeHeading { level, contents } + Node::Heading(NodeHeading { level, contents }) } /// Handle a raw block. -fn raw(p: &mut Parser, token: TokenRaw) -> NodeRaw { +fn raw(p: &mut Parser, token: TokenRaw) -> Node { let raw = resolve::resolve_raw(token.text, token.backticks); if !token.terminated { p.diag(error!(p.peek_span().end, "expected backtick(s)")); } - raw + Node::Raw(raw) } /// Handle a unicode escape sequence. |
