# List items parser
class MdListItemParser
super MdBlockParser
redef type BLOCK: MdListItem
redef var block = new MdListItem(location) is lazy
# List item content indend
var content_indent: Int
redef fun try_continue(state) do
if state.is_blank then
if block.first_child == null then
# blank line after empty list item
return null
end
return new MdBlockContinue.at_index(state.next_non_space_index)
end
if state.indent >= content_indent then
return new MdBlockContinue.at_column(state.column + content_indent)
end
return null
end
redef fun parse_inlines(inline_parser) do
var last_child = block.last_child
if last_child != null then
location.line_end = last_child.location.line_end
location.column_end = last_child.location.column_end
end
end
end
lib/markdown2/markdown_block_parsing.nit:1144,1--1175,3