Skip to content

field_list inside bullet generates wrong tokens #131

@melassa

Description

@melassa

Describe the bug

This markdown text with the field_list plugin enabled:

- test
  :1: 1
  :2: 2

generates this sequence of tokens:

bullet_list_open level: 0
list_item_open level: 1
paragraph_open level: 2
inline level: 3
paragraph_close level: 2
field_list_open level: 2            # error
fieldlist_name_open level: 3
inline level: 4
fieldlist_name_close level: 3
fieldlist_body_open level: 3
paragraph_open level: 4 
inline level: 5
paragraph_close level: 4
field_list_open level: 4             # error
fieldlist_name_open level: 5
inline level: 6
fieldlist_name_close level: 5
fieldlist_body_open level: 5
paragraph_open level: 6
inline level: 7
paragraph_close level: 6
fieldlist_body_close level: 5
field_list_close level: 4
fieldlist_body_close level: 3
field_list_close level: 2
list_item_close level: 1
bullet_list_close level: 0

The plugin creates annidated field_list instead of an unique field_list with two field_name.
Without the bullet, the output is correct (only one field_list):

field_list_open level: 0
fieldlist_name_open level: 1
inline level: 2
fieldlist_name_close level: 1
fieldlist_body_open level: 1
paragraph_open level: 2
inline level: 3
paragraph_close level: 2
fieldlist_body_close level: 1
fieldlist_name_open level: 1
inline level: 2
fieldlist_name_close level: 1
fieldlist_body_open level: 1
paragraph_open level: 2
inline level: 3
paragraph_close level: 2
fieldlist_body_close level: 1
field_list_close level: 0

Reproduce the bug

from mdit_py_plugins.field_list import fieldlist_plugin
md = MarkdownIt("commonmark") .use(fieldlist_plugin)
txt="""
- test
  :1: 1
  :2: 2
"""
tokens = md.parse(txt)
for t in tokens:
    print(t.type, "level:", t.level)

List your environment

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions