| 136 | |
| 137 | |
| 138 | def format_code_block_with_suggestions( |
| 139 | code_block: CodeBlock, suggestions: list[CodeBlockModifySuggestion] |
| 140 | ) -> str: |
| 141 | formatted_lines = [] |
| 142 | for line_offset, line in enumerate(code_block.lines): |
| 143 | lineno_str = with_cyan(f"{code_block.start_lineno + line_offset:>5}|") |
| 144 | formatted_lines.append(f"{lineno_str} {line}") |
| 145 | for suggestion in suggestions: |
| 146 | if suggestion.lineno == line_offset: |
| 147 | formatted_lines.append( |
| 148 | f" | {with_red('^')} {with_blue(suggestion.message)}\n" |
| 149 | ) |
| 150 | return ''.join(formatted_lines) |
| 151 | |
| 152 | |
| 153 | def extract_code_blocks( |