diff options
Diffstat (limited to 'src/parse')
| -rw-r--r-- | src/parse/mod.rs | 3 | ||||
| -rw-r--r-- | src/parse/parser.rs | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs index ecce0138..6724c559 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -193,8 +193,7 @@ fn heading(p: &mut Parser) -> SyntaxNode { } if level > 6 { - p.diag(warning!(start .. p.prev_end(), "should not exceed depth 6")); - level = 6; + return SyntaxNode::Text(p.eaten_from(start).into()); } let body = tree_indented(p); diff --git a/src/parse/parser.rs b/src/parse/parser.rs index 1e0f2f5d..d4192b50 100644 --- a/src/parse/parser.rs +++ b/src/parse/parser.rs @@ -322,6 +322,11 @@ impl<'s> Parser<'s> { Span::new(start, self.prev_end()) } + /// Return the source string from `start` to the end of the previous token. + pub fn eaten_from(&self, start: usize) -> &'s str { + self.tokens.scanner().get(start .. self.prev_end()) + } + /// Jump to an index in the string. /// /// You need to know the correct column. |
