summaryrefslogtreecommitdiff
path: root/src/syntax/parser.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-02-02 14:27:31 +0100
committerLaurenz <laurmaedje@gmail.com>2023-02-02 14:27:31 +0100
commitbb12624e8e970915e41363809139f168d4c545c6 (patch)
tree33787a13e8c1e03377d7044d9b5d703d791fc6a0 /src/syntax/parser.rs
parent5f5c65927982447133b625edea3f5c9bab4f9e3d (diff)
Fix heading and list markers
Diffstat (limited to 'src/syntax/parser.rs')
-rw-r--r--src/syntax/parser.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs
index afb207b6..5933d481 100644
--- a/src/syntax/parser.rs
+++ b/src/syntax/parser.rs
@@ -157,7 +157,7 @@ fn emph(p: &mut Parser) {
fn heading(p: &mut Parser) {
let m = p.marker();
p.assert(SyntaxKind::HeadingMarker);
- whitespace(p);
+ whitespace_line(p);
markup(p, false, usize::MAX, |kind| {
kind == SyntaxKind::Label || kind == SyntaxKind::RightBracket
});
@@ -168,7 +168,7 @@ fn list_item(p: &mut Parser) {
let m = p.marker();
p.assert(SyntaxKind::ListMarker);
let min_indent = p.column(p.prev_end());
- whitespace(p);
+ whitespace_line(p);
markup(p, false, min_indent, |kind| kind == SyntaxKind::RightBracket);
p.wrap(m, SyntaxKind::ListItem);
}
@@ -177,7 +177,7 @@ fn enum_item(p: &mut Parser) {
let m = p.marker();
p.assert(SyntaxKind::EnumMarker);
let min_indent = p.column(p.prev_end());
- whitespace(p);
+ whitespace_line(p);
markup(p, false, min_indent, |kind| kind == SyntaxKind::RightBracket);
p.wrap(m, SyntaxKind::EnumItem);
}
@@ -186,18 +186,18 @@ fn term_item(p: &mut Parser) {
let m = p.marker();
p.assert(SyntaxKind::TermMarker);
let min_indent = p.column(p.prev_end());
- whitespace(p);
+ whitespace_line(p);
markup(p, false, usize::MAX, |kind| {
kind == SyntaxKind::Colon || kind == SyntaxKind::RightBracket
});
p.expect(SyntaxKind::Colon);
- whitespace(p);
+ whitespace_line(p);
markup(p, false, min_indent, |kind| kind == SyntaxKind::RightBracket);
p.wrap(m, SyntaxKind::TermItem);
}
-fn whitespace(p: &mut Parser) {
- while p.current().is_trivia() {
+fn whitespace_line(p: &mut Parser) {
+ while !p.newline() && p.current().is_trivia() {
p.eat();
}
}