diff --git a/sphinx_needs/roles/need_part.py b/sphinx_needs/roles/need_part.py index f40795380..b948f13ba 100644 --- a/sphinx_needs/roles/need_part.py +++ b/sphinx_needs/roles/need_part.py @@ -38,7 +38,7 @@ def process_need_part( pass -part_pattern = re.compile(r"\(([\w-]+)\)(.*)") +part_pattern = re.compile(r"\(([\w-]+)\)(.*)", re.DOTALL) def iter_need_parts(need: NeedsInfoType) -> Iterable[NeedsInfoType]: diff --git a/tests/__snapshots__/test_need_parts.ambr b/tests/__snapshots__/test_need_parts.ambr index 1dcec2ecf..2c31cab95 100644 --- a/tests/__snapshots__/test_need_parts.ambr +++ b/tests/__snapshots__/test_need_parts.ambr @@ -7,6 +7,8 @@ * :need_part:`(1)exit()` * :need_part:`(2)start()` * :need_part:`(awesome_id)blub()` + * :need_part:`(multiline_id) + has multi-lines` * :np:`unknown_id_1` @@ -66,6 +68,17 @@ 'links_back': list([ ]), }), + 'multiline_id': dict({ + 'content': ''' + + has multi-lines + ''', + 'id': 'multiline_id', + 'links': list([ + ]), + 'links_back': list([ + ]), + }), }), 'section_name': 'NEED PARTS', 'sections': list([ diff --git a/tests/doc_test/doc_need_parts/index.rst b/tests/doc_test/doc_need_parts/index.rst index 1d8b2d70f..1a4073654 100644 --- a/tests/doc_test/doc_need_parts/index.rst +++ b/tests/doc_test/doc_need_parts/index.rst @@ -11,6 +11,8 @@ NEED PARTS * :need_part:`(1)exit()` * :need_part:`(2)start()` * :need_part:`(awesome_id)blub()` + * :need_part:`(multiline_id) + has multi-lines` * :np:`unknown_id_1`