summaryrefslogtreecommitdiff
path: root/src/parse
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse')
-rw-r--r--src/parse/mod.rs3
-rw-r--r--src/parse/parser.rs5
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.