summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/typst-syntax/src/parser.rs6
-rw-r--r--tests/ref/issue-5719-enum-nested.pngbin0 -> 800 bytes
-rw-r--r--tests/ref/issue-5719-heading-nested.pngbin0 -> 217 bytes
-rw-r--r--tests/ref/issue-5719-list-nested.pngbin0 -> 506 bytes
-rw-r--r--tests/ref/issue-5719-terms-nested.pngbin0 -> 921 bytes
-rw-r--r--tests/suite/model/enum.typ10
-rw-r--r--tests/suite/model/heading.typ4
-rw-r--r--tests/suite/model/list.typ8
-rw-r--r--tests/suite/model/terms.typ6
9 files changed, 31 insertions, 3 deletions
diff --git a/crates/typst-syntax/src/parser.rs b/crates/typst-syntax/src/parser.rs
index f9fb8b61..5b9e66e2 100644
--- a/crates/typst-syntax/src/parser.rs
+++ b/crates/typst-syntax/src/parser.rs
@@ -160,7 +160,7 @@ fn list_item(p: &mut Parser) {
p.with_nl_mode(AtNewline::RequireColumn(p.current_column()), |p| {
let m = p.marker();
p.assert(SyntaxKind::ListMarker);
- markup(p, false, false, syntax_set!(RightBracket, End));
+ markup(p, true, false, syntax_set!(RightBracket, End));
p.wrap(m, SyntaxKind::ListItem);
});
}
@@ -170,7 +170,7 @@ fn enum_item(p: &mut Parser) {
p.with_nl_mode(AtNewline::RequireColumn(p.current_column()), |p| {
let m = p.marker();
p.assert(SyntaxKind::EnumMarker);
- markup(p, false, false, syntax_set!(RightBracket, End));
+ markup(p, true, false, syntax_set!(RightBracket, End));
p.wrap(m, SyntaxKind::EnumItem);
});
}
@@ -184,7 +184,7 @@ fn term_item(p: &mut Parser) {
markup(p, false, false, syntax_set!(Colon, RightBracket, End));
});
p.expect(SyntaxKind::Colon);
- markup(p, false, false, syntax_set!(RightBracket, End));
+ markup(p, true, false, syntax_set!(RightBracket, End));
p.wrap(m, SyntaxKind::TermItem);
});
}
diff --git a/tests/ref/issue-5719-enum-nested.png b/tests/ref/issue-5719-enum-nested.png
new file mode 100644
index 00000000..76704544
--- /dev/null
+++ b/tests/ref/issue-5719-enum-nested.png
Binary files differ
diff --git a/tests/ref/issue-5719-heading-nested.png b/tests/ref/issue-5719-heading-nested.png
new file mode 100644
index 00000000..95bea42b
--- /dev/null
+++ b/tests/ref/issue-5719-heading-nested.png
Binary files differ
diff --git a/tests/ref/issue-5719-list-nested.png b/tests/ref/issue-5719-list-nested.png
new file mode 100644
index 00000000..9c9a7cc6
--- /dev/null
+++ b/tests/ref/issue-5719-list-nested.png
Binary files differ
diff --git a/tests/ref/issue-5719-terms-nested.png b/tests/ref/issue-5719-terms-nested.png
new file mode 100644
index 00000000..8428ae4e
--- /dev/null
+++ b/tests/ref/issue-5719-terms-nested.png
Binary files differ
diff --git a/tests/suite/model/enum.typ b/tests/suite/model/enum.typ
index e957ae9e..288392d4 100644
--- a/tests/suite/model/enum.typ
+++ b/tests/suite/model/enum.typ
@@ -199,3 +199,13 @@ a + 0.
+ f
#align(right)[+ align]
+ h
+
+--- issue-5719-enum-nested ---
+// Enums can be immediately nested.
+1. A
+2. 1. B
+ 2. C
++ + D
+ + E
++ = F
+ G
diff --git a/tests/suite/model/heading.typ b/tests/suite/model/heading.typ
index 45e5b50a..4e529fdf 100644
--- a/tests/suite/model/heading.typ
+++ b/tests/suite/model/heading.typ
@@ -148,3 +148,7 @@ Cannot be used as @intro
// Hint: 1-16 HTML only supports <h1> to <h6>, not <h8>
// Hint: 1-16 you may want to restructure your document so that it doesn't contain deep headings
======= Level 7
+
+--- issue-5719-heading-nested ---
+// Headings may not be nested like this.
+= = A
diff --git a/tests/suite/model/list.typ b/tests/suite/model/list.typ
index b3d9a830..96ddf3c1 100644
--- a/tests/suite/model/list.typ
+++ b/tests/suite/model/list.typ
@@ -276,3 +276,11 @@ World
- h
#align(right)[- i]
- j
+
+--- issue-5719-list-nested ---
+// Lists can be immediately nested.
+- A
+- - B
+ - C
+- = D
+ E
diff --git a/tests/suite/model/terms.typ b/tests/suite/model/terms.typ
index 61fe20b0..23ac6e51 100644
--- a/tests/suite/model/terms.typ
+++ b/tests/suite/model/terms.typ
@@ -90,3 +90,9 @@ Not in list
/ h: h
#align(right)[/ i: i]
/ j: j
+
+--- issue-5719-terms-nested ---
+// Term lists can be immediately nested.
+/ Term A: 1
+/ Term B: / Term C: 2
+ / Term D: 3