aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct/label_end.rs
diff options
context:
space:
mode:
authorLibravatar Fedor Sheremetyev <sheremetyev@gmail.com>2023-07-10 10:09:58 +0100
committerLibravatar GitHub <noreply@github.com>2023-07-10 11:09:58 +0200
commitddbeb9c9d87b6e938eac09bc0ee4f354c4a552f2 (patch)
tree368dce508a0b6afd3989ddd946f5e2b8cbb87f17 /src/construct/label_end.rs
parent24d78c3420980f3e56fc420f8efc7e601b144ee7 (diff)
downloadmarkdown-rs-ddbeb9c9d87b6e938eac09bc0ee4f354c4a552f2.tar.gz
markdown-rs-ddbeb9c9d87b6e938eac09bc0ee4f354c4a552f2.tar.bz2
markdown-rs-ddbeb9c9d87b6e938eac09bc0ee4f354c4a552f2.zip
Fix parsing of nested links
Enter event for `LabelText` should be inserted before existing events at the index in order to have correct nesting. Otherwise nested elements could have Enter event first and that would result in incorrect nesting in the tree when converting to AST. Closes GH-73. Closes GH-50.
Diffstat (limited to 'src/construct/label_end.rs')
-rw-r--r--src/construct/label_end.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/construct/label_end.rs b/src/construct/label_end.rs
index c7cca66..8898b88 100644
--- a/src/construct/label_end.rs
+++ b/src/construct/label_end.rs
@@ -752,7 +752,7 @@ fn inject_labels(tokenizer: &mut Tokenizer, labels: &[Label]) {
// Though: if this was what looked like a footnote, but didn’t match,
// it’s a link instead, and we need to inject the `^`.
if label.start.1 != label.end.0 || !caret.is_empty() {
- tokenizer.map.add(
+ tokenizer.map.add_before(
label.start.1 + 1,
0,
vec![Event {