""" Often the markdown files have bullet lists that are not properly formatted. There bullet list must have 2 newlines before the list starts and 2 newlines after the list ends. This script fixes the bullet lists in the markdown files. The following input lacks the required 2 newlines before the list starts: ```markdown Lorem ipsum: - Item A - Item B - Item C ``` The fixed output: ```markdown Lorem ipsum: - Item A - Item B - Item C ``` """ def fix_bullet_lists(markdown_text: str) -> str: """ Fix the bullet lists in the markdown text that lacks the required 2 newlines before the list starts. """ lines = markdown_text.split('\n') fixed_lines = [] in_list = False for i, line in enumerate(lines): if line.startswith('- '): if not in_list: if i > 0 and lines[i-1].strip() != '': fixed_lines.append('') in_list = True fixed_lines.append(line) else: if in_list: if line.strip() != '': fixed_lines.append('') in_list = False fixed_lines.append(line) if in_list: fixed_lines.append('') return '\n'.join(fixed_lines)