diff options
| author | Shulhan <ms@kilabit.info> | 2022-12-03 14:25:24 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-12-14 23:46:53 +0700 |
| commit | 1eaba5aa4c841d15248f7ac0cf629459b491f080 (patch) | |
| tree | 6a55cbe2698b0ab1388a30a73cb37612e435e208 /document_parser.go | |
| parent | 5c7bfc04dc3d2cd60e84c80229804fdcd615709e (diff) | |
| download | asciidoctor-go-1eaba5aa4c841d15248f7ac0cf629459b491f080.tar.xz | |
all: store the list item counter inside element
In the parseListOrdered, each time we found list item, we store its
counter and increment it by one so backend can use it to render the
counter.
Diffstat (limited to 'document_parser.go')
| -rw-r--r-- | document_parser.go | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/document_parser.go b/document_parser.go index 9e78554..2a29152 100644 --- a/document_parser.go +++ b/document_parser.go @@ -948,13 +948,15 @@ func (docp *documentParser) parseListDescription(parent, el *element, line []byt // On success it will return non-empty line and terminator character. func (docp *documentParser) parseListOrdered(parent *element, title string, line []byte, term int) (got []byte) { var ( - logp = `parseListOrdered` - list = &element{ + logp = `parseListOrdered` + itemNumber = 1 + list = &element{ kind: elKindListOrdered, rawTitle: title, } listItem = &element{ - kind: elKindListOrderedItem, + kind: elKindListOrderedItem, + listItemNumber: itemNumber, } el *element @@ -1006,6 +1008,8 @@ func (docp *documentParser) parseListOrdered(parent *element, title string, line el.parseListOrderedItem(line) if listItem.level == el.level { + itemNumber++ + el.listItemNumber = itemNumber list.addChild(el) listItem = el line = nil @@ -1018,8 +1022,7 @@ func (docp *documentParser) parseListOrdered(parent *element, title string, line // ... Next list parentListItem = parent for parentListItem != nil { - if parentListItem.kind == docp.kind && - parentListItem.level == el.level { + if parentListItem.kind == docp.kind && parentListItem.level == el.level { list.postParseList(docp.doc, elKindListOrderedItem) return line } |
