diff --git a/org/headline.go b/org/headline.go index 749d1ff..7e0b8eb 100644 --- a/org/headline.go +++ b/org/headline.go @@ -35,14 +35,14 @@ var tagRegexp = regexp.MustCompile(`(.*?)\s+(:[A-Za-z0-9_@#%:]+:\s*$)`) func lexHeadline(line string) (token, bool) { if m := headlineRegexp.FindStringSubmatch(line); m != nil { - return token{"headline", len(m[1]), m[2], m}, true + return token{"headline", 0, m[2], m}, true } return nilToken, false } func (d *Document) parseHeadline(i int, parentStop stopFn) (int, Node) { t, headline := d.tokens[i], Headline{} - headline.Lvl = t.lvl + headline.Lvl = len(t.matches[1]) headline.Index = d.addHeadline(&headline) @@ -69,7 +69,7 @@ func (d *Document) parseHeadline(i int, parentStop stopFn) (int, Node) { headline.Title = d.parseInline(text) stop := func(d *Document, i int) bool { - return parentStop(d, i) || d.tokens[i].kind == "headline" && d.tokens[i].lvl <= headline.Lvl + return parentStop(d, i) || d.tokens[i].kind == "headline" && len(d.tokens[i].matches[1]) <= headline.Lvl } consumed, nodes := d.parseMany(i+1, stop) if len(nodes) > 0 { diff --git a/org/testdata/misc.html b/org/testdata/misc.html index 35ba018..6f84275 100644 --- a/org/testdata/misc.html +++ b/org/testdata/misc.html @@ -72,9 +72,15 @@
0\\
+a list item
+followed by another list item
+