Support list items with empty first line

also dismiss implementing ordered list bullet overrides for now, e.g.
1. [@10] foo

add it once someone needs it - for now it seems like needless complexity
This commit is contained in:
Niklas Fasching 2018-12-19 17:40:47 +01:00
parent 4e536f44bd
commit 724cf6c23e
5 changed files with 29 additions and 7 deletions

View file

@ -25,16 +25,16 @@ type DescriptiveListItem struct {
Details []Node
}
var unorderedListRegexp = regexp.MustCompile(`^(\s*)([+*-])\s(.*)`)
var orderedListRegexp = regexp.MustCompile(`^(\s*)(([0-9]+|[a-zA-Z])[.)])\s+(.*)`)
var unorderedListRegexp = regexp.MustCompile(`^(\s*)([+*-])(\s+(.*)|\s*$)`)
var orderedListRegexp = regexp.MustCompile(`^(\s*)(([0-9]+|[a-zA-Z])[.)])(\s+(.*)|\s*$)`)
var descriptiveListItemRegexp = regexp.MustCompile(`\s::(\s|$)`)
var listItemStatusRegexp = regexp.MustCompile(`\[( |X|-)\]\s`)
func lexList(line string) (token, bool) {
if m := unorderedListRegexp.FindStringSubmatch(line); m != nil {
return token{"unorderedList", len(m[1]), m[3], m}, true
return token{"unorderedList", len(m[1]), m[4], m}, true
} else if m := orderedListRegexp.FindStringSubmatch(line); m != nil {
return token{"orderedList", len(m[1]), m[4], m}, true
return token{"orderedList", len(m[1]), m[5], m}, true
}
return nilToken, false
}