summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-04-05 15:04:35 +0200
committerLaurenz <laurmaedje@gmail.com>2022-04-05 15:10:15 +0200
commitb8233a9e01229963370f0357791ed02b067bce1b (patch)
treee74df49e0db1ea578f45c49f81b6f9aa2b70aedf /src
parentb865accae6c5e9f5d62afe4637c985c81b70eb4f (diff)
Don't allow empty lists and enums
Diffstat (limited to 'src')
-rw-r--r--src/parse/mod.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs
index 55f2fd49..0e68c0d1 100644
--- a/src/parse/mod.rs
+++ b/src/parse/mod.rs
@@ -277,6 +277,7 @@ fn heading(p: &mut Parser, at_start: bool) {
while p.eat_if(&NodeKind::Eq) {}
if at_start && p.peek().map_or(true, |kind| kind.is_space()) {
+ p.eat_while(|kind| kind.is_space());
markup_line(p);
marker.end(p, NodeKind::Heading);
} else {
@@ -291,8 +292,8 @@ fn list_node(p: &mut Parser, at_start: bool) {
let text: EcoString = p.peek_src().into();
p.eat_assert(&NodeKind::Minus);
- if at_start && p.peek().map_or(true, |kind| kind.is_space()) {
- let column = p.column(p.prev_end());
+ let column = p.column(p.prev_end());
+ if at_start && p.eat_if(&NodeKind::Space(0)) && !p.eof() {
markup_indented(p, column);
marker.end(p, NodeKind::List);
} else {
@@ -306,8 +307,8 @@ fn enum_node(p: &mut Parser, at_start: bool) {
let text: EcoString = p.peek_src().into();
p.eat();
- if at_start && p.peek().map_or(true, |kind| kind.is_space()) {
- let column = p.column(p.prev_end());
+ let column = p.column(p.prev_end());
+ if at_start && p.eat_if(&NodeKind::Space(0)) && !p.eof() {
markup_indented(p, column);
marker.end(p, NodeKind::Enum);
} else {