diff --git a/lib/rdoc/markdown.kpeg b/lib/rdoc/markdown.kpeg index 7a18d7867f..f1853edd60 100644 --- a/lib/rdoc/markdown.kpeg +++ b/lib/rdoc/markdown.kpeg @@ -1237,7 +1237,7 @@ DefinitionListItem = ( DefinitionListLabel+ ):label list_items } -DefinitionListLabel = StrChunk:label @Sp @Newline +DefinitionListLabel = Inline:label @Sp @Newline { label } DefinitionListDefinition = @NonindentSpace ":" @Space Inlines:a @BlankLine+ diff --git a/test/rdoc/test_rdoc_markdown.rb b/test/rdoc/test_rdoc_markdown.rb index dd6f312fa9..31d5b068f9 100644 --- a/test/rdoc/test_rdoc_markdown.rb +++ b/test/rdoc/test_rdoc_markdown.rb @@ -305,6 +305,25 @@ def test_parse_definition_list_multi_line assert_equal expected, doc end + def test_parse_definition_list_rich_label + doc = parse <<-MD +`one` +: This is a definition + +**two** +: This is another definition + MD + + expected = doc( + list(:NOTE, + item(%w[one], + para("This is a definition")), + item(%w[*two*], + para("This is another definition")))) + + assert_equal expected, doc + end + def test_parse_definition_list_no @parser.definition_lists = false